面向切面编程AOP

  1. 动态代理
  • 实现方式:jdk动态代理,使用jdk中的Proxy、Method、InvocationHandler创建代理对象。jdk动态代理要求目标类必须实现接口
  • cglib动态代理:第三方的工具库,创建代理对象,原理是继承。通过继承目标类,创建子类。子类就是代理对象。要求目标不能是final的,方法也不能是final的
  1. 动态代理的作用:
  • 不用动原来的代码
  • 解耦合,让你的业务功能和日志,事务非业务功能分离
  • 减少代码重复
  • 专注业务逻辑
  1. AOP:面向切面编程,基于动态代理,可以使用jdk,cglib两种代理方式。
    AOP就是动态代理的规范化,把动态代理的实现步骤,方式都定义好了,让开发人员用一种统一的方式,使用动态代理
上一篇:结构型模式:代理模式(Proxy)


下一篇:第四节:代理模式——cglib代理