java代理模式:CGLib实现的动态代理

 时间:2024-11-03 06:14:38

1、首先,需要导入cglib的jar包,这里用的是cglib-nodep-2.2.jar

java代理模式:CGLib实现的动态代理

2、其次,需要创建一个被代理的类,因只是用于说明cglib动态代理的用法,该类中只需要有一个方法即可,方法中进行简单输出。

java代理模式:CGLib实现的动态代理

3、cgli水瑞侮瑜b动态代理的用法,先需要先实现cglib中的方法拦截器MethodInterceptor接口,并重写intercept方法。

java代理模式:CGLib实现的动态代理

4、在intercept方法中添加前置后置通知,在真实项目中,添加相应的处理逻辑即可,然后代理对象并返回。

java代理模式:CGLib实现的动态代理

5、编写测试方法进行测试,注意cglib是通过Enhance对象获取代理对象的,需要对Enhance设置被代理对象以及设置回调。

java代理模式:CGLib实现的动态代理

6、main方法运行,获取结果,证明动态代理已实现。

java代理模式:CGLib实现的动态代理

7、对比jdk动态代理:1.jdk动态代理只能用于接口代理,cglib则是用的继承被代理对象的方式实现动态代理,因此可以对任意类生成代理。2.jdk动态代理是适用反射技术,而cg造婷用痃lib动态代理是使用字节码技术,在jdk1.6前cglib生成代理类的效率是要高于jdk动态代理的,

  • 虚拟光驱DAEMON_Tools_Lite_V10.1安装及其使用
  • cognos测试数据库报错
  • SqlServer如何备份还原数据库?
  • C#如何引用类库(基于VS2012)
  • Eclipse 安装Activiti 插件失败解决方法
  • 热门搜索
    营业税怎么算 面条怎么做 苹果黑屏怎么办 脸上长痘痘怎么办 泰拉瑞亚火星人入侵怎么召唤 脸上的黄褐斑怎么去掉 蚕蛹怎么做好吃 信用卡逾期怎么办 头晕耳鸣是怎么回事 长智齿怎么办