Spring之动态代理

  • 动态代理和静态代理角色一样
  • 动态代理的代理类是动态生成的,不是我们写好的
  • 动态代理分为两大类:基于接口的动态代理,基于类的动态代理
    1.基于接口–JDK动态代理
    2.基于类:cglib
    3.java字节码实现:javasist

需要了解两个类:Proxy(代理),
InvocationHandler(代理实例的调用处理程序的接口)

动态代理的好处

  • 可以使真是角色的操作更加纯粹!不用关心一些公共的业务

  • 公共交给代理角色,实现了业务的分工

  • 公共业务发生拓展的时候,方便集中管理

  • 一个动态代理类代理的是一个接口,一般对应的一类业务

  • 一个动态代理类可以代理多个类,只要实现了同一个接口即可