面向切面的Spring

AOP概念

描述切面的常用术语有通知(advice),切点(pointcut),连接点(join point).
advice:描述要完成的工作,以及工作的时机.
有五种类型的通知:

  1. Before–在方法调用之前调用通知.
  2. After–在方法调用之后调用通知.无论方法是否执行成功.
  3. After-returning:在方法成功执行之后调用通知.
  4. After-throwing:在方法抛出异常后调用通知.
  5. Around:通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为. 连接点(joinPoint):在应用执行过程中可以插入切面的一个点.

切点(pointcut):缩小切面通知的范围.

切面(Aspect):是通知和切点的结合.通知和切点共同定义了切面的全部内容–它是什么,在何时和何处完成其功能.

引入(Introduction):引入允许在现有的类中添加新方法和属性.

织入(Weaving):是将切面对象应用到目标对象来创建新的代理对象的过程,切面在指定的连接点被织入到目标对象中.

Spring对AOP的支持

Spring提供了4种各具特色的aop支持:

  • 基于代理的经典AOP
  • @AspectJ注解驱动的切面
  • 纯POJO切面
  • 注入式AspectJ切面(适合Spring各版本)

热评文章