设计模式之- 代理(Proxy)

设计模式之- 代理(Proxy)

1.概述

代理,就是将自己想完成的事情,委托给别人去做。在面对对象中,“代理人”和“本人”都是对象。代理人我们成为代理对象,本人我们称为目标对象。

2.静态代理

静态代理中,代理对象和目标对象都需要实现相同的父类或者继承相同的父类。

2.1 案例解析

需要为某个保存操作加一个事务操作。

3.动态代理

3.1 JDK动态代理

目标对象需要实现接口,代理对象不需要实现接口。

3.2 CGLIB 动态代理

目标对象不需要实现接口。在内存中会生成一个目标对象的子类。
Tips: Spring Aop 编程中,如果加入容器的目标对象有实现接口,用JDk代理。
如果没实现接口,就用CGLIB代理。

相关文章: