Spring-AOP整合Aspect介绍
我们先看看在生成代理时,是如何找到AspectJ形式声明的Advisor的。
提示:
AnnotationAwareAspectJAutoProxyCreator.findCandidateAdvisors()
方法查找过程中即查找了Spring AOP原来的Advisor,也查找了AspectJ声明的
Advisor。下图仅描述了查找AspectJ声明的Advisor这部分。
查找AspectJ形式声明的Advisor时序图如下:
下图是AspectJ相应注解转换为对应的Advice部分源代码:
查看大图
通过以上AspectJ技术接入到Spring AOP体系,在代理生成中如何查找Bean适用的Advisor和代理运行中如何查找方法适用的Advisor环节中,Pointcut(具体是AspectJExpressionPointcut)进行Class或方法匹配时,委托给aspectj来处理,其他还是复用Spring原有基础设施。到这里介绍Spring AOP理论部分的介绍要结束了,说了那么多,究竟好不好使。事务管理是在运用Spring AOP的典型例子,那我们先从Spring事务基础设施介绍开始。
快速导航: