java中Cglib代理的用法是什么

本篇内容介绍了“java中Cglib代理的用法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

说明

java中Cglib代理的用法是什么

1、Cglib代理可以称为子类代理,是在内存中构建子类对象,从而扩展目标对象的功能。静态代理和JDK代理都需要一个对象来实现一个接口。有时候代理对象只是一个单独的对象,Cglib代理可以在这个时候使用。

2、Cglib通过Enhancer生成代理类,通过实现MethodInterceptor接口,实现intercept方法,可以在该方法中添加增强方法,并可以使用反射Method或MethodProxy继承类来调用原始方法。

实例

publicclassTVProxyCglibimplementsMethodInterceptor{

//给目标对象创建一个代理对象
publicObjectgetProxyInstance(Classc){
//1.工具类
Enhancerenhancer=newEnhancer();
//2.设置父类
enhancer.setSuperclass(c);
//3.设置回调函数
enhancer.setCallback(this);
//4.创建子类(代理对象)
returnenhancer.create();
}

@Override
publicObjectintercept(Objecto,Methodmethod,Object[]objects,MethodProxymethodProxy)throwsThrowable{
System.out.println("TVProxyFactoryenhancement.....");
Objectobject=methodProxy.invokeSuper(o,objects);
returnobject;
}
}

“java中Cglib代理的用法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注恰卡编程网网站,小编将为大家输出更多高质量的实用文章!

发布于 2021-07-29 21:59:11
收藏
分享
海报
0 条评论
196
上一篇:python怎么实现批量文件加密功能 下一篇:spring DI依赖注入方式和区别有哪些
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码