您好,欢迎访问一九零五行业门户网

java中的Cglib代理如何使用

说明
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;    }}
以上就是java中的cglib代理如何使用的详细内容。
其它类似信息

推荐信息