• 技术文章 >java >java教程

    java中Cglib代理的使用

    小妮浅浅小妮浅浅2021-08-20 17:42:09原创5900

    说明

    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代理的使用,希望对大家有所帮助。更多Java学习指路:java教程

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    专题推荐:java cglib代理
    品易云
    上一篇:java通配符的使用规则 下一篇:java类型擦除的应用

    相关文章推荐

    • java中ArrayList集合的扩容机制• java使用泛型的优势• java泛型类型的调用和实例化• java泛型方法的语法使用• java泛型算法如何实现• java无界通配符的使用场景• java上界通配符如何使用• java下界通配符的用法• java通配符的使用规则• java动态代理的特点

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网