Spring实战(第四版)读书笔记10——Spring AOP概述

1、AOP术语

通知(Advise):

切面的工作被称为通知,通知还解决了何时执行这个工作的问题。

Spring切面可以应用5种类型的通知:

  • 前置通知(Before)
  • 后置通知(After)
  • 返回通知(After-returning)
  • 异常通知(After-throwing)

连接点(Join point):

应用执行过程中能够插入切面的一个点。

切点(Poincut):

切点的定义会匹配通知所要织入的一个或多个连接点,有些AOP框架支持动态切点。

切面(Aspect):

通知和切点的结合——是什么,何时何处完成其功能。

引入(Introduction):

通过注入实例的方法,允许我们向现有的类添加新方法或者属性。

织入(Weaving):

把切面应用到目标对象并创建新的代理对象的过程。在目标对象的生命周期里有多个点可以进行织入:

  • 编译期
  • 类加载期
  • 运行期

2、Spring对AOP的支持

Spring提供4种类型的AOP支持:

  • 基于代理的经典Spring AOP
  • 纯POJO切面
  • @AspectJ注解驱动的切面
  • 注入式AspectJ切面

Spring的切面由包裹了目标对象的代理类实现。代理类处理方法的调用,执行额外的切面逻辑,并调用目标方法。

因为Spring是基于动态代理,所以Spring只支持方法连接点,如果需要其他类型连接点则通过Aspect来补充。

猜你喜欢

转载自blog.csdn.net/Nemoosi/article/details/107125253