java中的Cglib代理如何使用
作者:小确幸
时间:2023-05-03
浏览:3
说明1、Cglib代理可以称为子类代理,是在内存中构建子类对象,从而扩展目标对象的功能。静态代理和JDK代理都需要一个对象来实现一个接口。有时候代理对象只是一个单独的对象,Cglib代理可以在这个时候使用。2、Cglib通过Enhancer生成代理类,通过实现MethodInterceptor接口,实现intercept方法。可以在该方法中添加增强方法,并可以使用反射Method或MethodProxy继承类来调用原始方法。实例publicclassTVProxyCglibimplementsMethod
本文目录
说明
1、Cglib代理可以称为子类代理,是在内存中构建子类对象,从而扩展目标对象的功能。
静态代理和JDK代理都需要一个对象来实现一个接口。有时候代理对象只是一个单独的对象,Cglib代理可以在这个时候使用。
2、Cglib通过Enhancer生成代理类,通过实现MethodInterceptor接口,实现intercept方法。
可以在该方法中添加增强方法,并可以使用反射Method或MethodProxy继承类来调用原始方法。
实例
public class TVProxyCglib implements MethodInterceptor {
//给目标对象创建一个代理对象
public Object getProxyInstance(Class c){
//1.工具类
Enhancer enhancer = new Enhancer();
//2.设置父类
enhancer.setSuperclass(c);
//3.设置回调函数
enhancer.setCallback(this);
//4.创建子类(代理对象)
return enhancer.create();
}
@Override
public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {
System.out.println("TVProxyFactory enhancement.....");
Object object = methodProxy.invokeSuper(o, objects);
return object;
}
}
作者最新文章
xshell连接服务器怎么连 SSH远程登录步骤
2026-11-03 10:13
立刻MV如何删除不需要的MV项目工程
2026-11-02 23:37
beyond compare怎么自动换行
2026-10-23 10:35
Luminar Neo画笔与蒙版使用指南:精准选区与图层合成技巧
2026-10-22 15:23
Photoshop快捷键表格在哪找
2026-10-22 14:42
上一篇:
MySQL中WEEK函数怎么用
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































