- 动态代理和静态代理角色一样
- 动态代理的代理类是动态生成的,不是我们写好的
- 动态代理分为两大类:基于接口的动态代理,基于类的动态代理
1.基于接口–JDK动态代理
2.基于类:cglib
3.java字节码实现:javasist
需要了解两个类:Proxy(代理),
InvocationHandler(代理实例的调用处理程序的接口)
动态代理的好处
-
可以使真是角色的操作更加纯粹!不用关心一些公共的业务
-
公共交给代理角色,实现了业务的分工
-
公共业务发生拓展的时候,方便集中管理
-
一个动态代理类代理的是一个接口,一般对应的一类业务
-
一个动态代理类可以代理多个类,只要实现了同一个接口即可