动态代理之cglib代理
来源:互联网 发布:易语言游戏源码大全 编辑:程序博客网 时间:2024/05/29 09:15
public class UserServiceImpl {public void add() {System.out.println("This is add service");}public void delete(int id) {System.out.println("This is delete service:delete " + id );}}
上面这个类并没有实现接口,这是JDK动态代理做不到的。
实现了MethodInterceptor的类。
import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;import java.lang.reflect.Method;/** * Created by dezhonger on 2017/3/20. */public class MyMethodInterceptor implements MethodInterceptor {public Object intercept(Object obj, Method method, Object[] arg, MethodProxy proxy) throws Throwable {System.out.println("Before:" );Object object = proxy.invokeSuper(obj, arg);System.out.println("After:" );return object;}}
测试:
import net.sf.cglib.proxy.Enhancer;/** * Created by dezhonger on 2017/3/20. */public class Main {public static void main(String[] args) {Enhancer enhancer = new Enhancer();enhancer.setSuperclass(UserServiceImpl.class);enhancer.setCallback(new MyMethodInterceptor());UserServiceImpl userService = (UserServiceImpl)enhancer.create();userService.add();userService.delete(123456);}}
输出:
Before:
This is add service
After:
Before:
This is delete service:delete 123456
After:
0 0
- 动态代理之cglib代理
- 动态代理之cglib
- 动态代理之CGLIB
- 动态代理之CGLib
- 动态代理之cglib
- 代理模式之cglib动态代理
- 代理模式之cglib动态代理
- 代理模式之cglib动态代理
- Java动态代理之CGLIB
- 动态代理之cglib实现
- Java动态代理之CGLIB
- Java动态代理之cglib
- 动态代理-CGLib动态代理
- 动态代理之JDK代理与CGlib代理
- Spirng之静态代理、动态代理、以及cglib代理
- 静态代理;动态代理;CGLIB
- Java动态代理--cglib代理
- 代理模式-cglib动态代理
- JVM内存区域划分Eden Space、Survivor Space...解释以及jvm内存回收过程
- idea debugger console 不见了。
- QT 模拟鼠标事件
- 算法导论 思考题 3-6
- Google protoBuf
- 动态代理之cglib代理
- 关于Nginx
- DOM事件处理程序
- github上传error: src refspec master does not match any
- ListPopupWindow的使用
- DAO层原来可以这么简单 FastQuery使用手册.
- java虚拟机栈中何时存放对象的引用变量?
- 希尔排序
- cnpm 、yarn