静态代理和动态代理
来源:互联网 发布:ajax请求json数据 编辑:程序博客网 时间:2024/06/03 14:12
1.定义一个代理接口和实现类
2.定义一个静态代理类
3.测试类
静态代理类优缺点
优点:业务类只需要关注业务逻辑本身,保证了业务类的重用性。这是代理的共有优点。
缺点:
1)代理对象的一个接口只服务于一种类型的对象,如果要代理的方法很多,势必要为每一种方法都进行代理,静态代理在程序规模稍大时就无法胜任了。
2)如果接口增加一个方法,除了所有实现类需要实现这个方法外,所有代理类也需要实现此方法。增加了代码维护的复杂度。
2.动态代理
(1)JDK动态代理
动态代理 AOP底层实现:有接口自动应用的就是JDK动态代理
1)JDK 在运行时注入
本质:在内存中构建出接口的实现类
特点:被代理对象,必须有接口
(2)cglib动态代理
Cglib 底层,注入,编译期已经注入了
本质:在内存中生成被代理类(目标类)的【子类】
特点:可以在没有接口的情况下代理
对于不使用接口的业务类,无法使用JDK动态代理,cglib采用非常底层的字节码技术,可以为一个类创建子类
阅读全文
0 0
- 静态代理和动态代理
- 静态代理和动态代理
- 静态代理和动态代理
- 静态代理和动态代理
- 动态代理和静态代理
- 静态代理和动态代理
- 静态代理和动态代理
- 静态代理和动态代理
- 动态代理和静态代理
- 静态代理和动态代理
- 动态代理和静态代理
- 动态代理和静态代理
- 静态代理和动态代理
- 动态代理和静态代理
- 静态代理和动态代理
- 静态代理和动态代理
- 动态代理和静态代理
- 静态代理和动态代理
- el表达式不解析问题
- C++Builder6 for SDK窗口编程
- 设置视频播放定时跳转JS代码
- 【ubuntu】Ubuntu14.04安装opencv-3.2
- 第十一章 从Web抓取信息 笔记
- 静态代理和动态代理
- mybatis 操作 oracle 报错 ORA-0094 表或视图不存在
- 内部排序(3)——选择类排序
- Android防止启动页面闪白问题
- 友元函数的继承
- 整理java中左侧补0的方法
- uml类图
- Android灯光系统框架分析
- Activity启动模式的那点事