学习笔记——SSM前言之代理模式
1、代理模式概念:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或不能直接引用另一个对象,而代理对象可以在客户类和目标对象之间起到中介的作用。
也就是,使用代理对象是对了在不修改目标对象基础上,增强主业务逻辑。
客户类想访问的是目标类,但真正访问的是代理类。代理对象是为了增强目标对象。
2、代理模式分类:
- 静态代理:是指程序还没有运行时,就已经建立代理关系
只要代码中有代理类,就是静态代理。 - jdk动态代理:时指程序运行过程中生成代理对象。
代码中无定义代理类,能通过工厂或工具在运行中生成。
3、静态代理的实现
用代理类实现
4、动态代理的实现
1)jdk动态代理:
proxy类:newProxyInstance等
要求目标类与代理类实现相同的接口。
2)通过CGLIB生成代理
CGLIB是代码生成类库,可在运行期拓展和增强Java类。CGLIB代理的生成原理是生成目标类的子类。这就要求目标类不是final类。
3、方法回调设计模式:
通过回调接口实现回调方法。