正如我从 spring 3 文档中得到的那样,有两种 AOP 方式
<aop:config>
AspectJ -在 xml中包含元数据或使用注释@Aspect
Spring 自己的实现 - 使用接口进行通知(
BeforeAdvice
等AfterAdvice
)
--到目前为止如果我错了请纠正我-
现在 spring 自己的实现由AutoproxyCreator
( BeanNameAutoproxyCreator
, DefaultAdvisorAutoproxyCreator
) 实现,它在创建 bean 时使用BeanPostProcessor
.
但是 AspectJ 的代理是如何在 Spring 中完成的。Aspect 类如何由@Aspect
of提供
<aop:config>
<aop:aspect ref= "anyclasshavingAllAdviceMethod">
<!-- (all aop:before,aop:after-throwing etc) -->
</aop:aspect>
</aop:config>
用于创建代理。<aop:config>
or的实现背后的机制是什么@Aspect
。
或加载时 waever 用于这些 .
注意:要实现 aop:config 我们不必提供任何额外的 bean 或 load-time-weaver 那么它是如何工作的?