设计模式之- 代理(Proxy)
1.概述
代理,就是将自己想完成的事情,委托给别人去做。在面对对象中,“代理人”和“本人”都是对象。代理人我们成为代理对象,本人我们称为目标对象。
2.静态代理
静态代理中,代理对象和目标对象都需要实现相同的父类或者继承相同的父类。
2.1 案例解析
需要为某个保存操作加一个事务操作。
3.动态代理
3.1 JDK动态代理
目标对象需要实现接口,代理对象不需要实现接口。
3.2 CGLIB 动态代理
目标对象不需要实现接口。在内存中会生成一个目标对象的子类。
Tips: Spring Aop 编程中,如果加入容器的目标对象有实现接口,用JDk代理。
如果没实现接口,就用CGLIB代理。