1.简介

  1. AOP是面向切面编程,是OOP的一种补充
  2. AOP的关注点是:业务无关、且多个类对象方法中公用的逻辑
  3. 将关注点抽象成模块,即所谓的切面
  4. 减少了代码的重复,降低系统耦合度

    2.术语解释

  5. 连接点:可以被织入切面的点,在Spring AOP中一个连接点指的就是运行中方法

    1. 是切面通知可能增强的点
    2. 在SpringAOP中任何一个方法的运行都是连接点

image.png

  1. 切入点:定义连接点的匹配规则
  2. 通知:定义在被匹配的连接点上需要执行的具体代码逻辑
    1. 前置通知
    2. 后置通知
    3. 异常通知
    4. 返回通知
    5. 环绕通知
  3. 切面:关注点的模块化
  4. 目标对象:被一个或多个切面通知的对象
  5. 代理对象:AOP框架创建的对象,代理目标对象,为其增强通知
  6. 织入:将切面应用于目标对象并创建代理对象的过程
    1. 编译期:AspectJ织入方式
    2. 类加载期:AspectJ5
    3. 运行期:Spring AOP