docs解释说,LTW必须通过使用<context:load-time-weaver/>
xml指令或使用@EnableLoadTimeWeaving
注释来启用。但是,我没有做过,但我仍然看到在我的项目中正确编织了各个方面!
答案 0 :(得分:5)
Spring AOP 不依赖于 AspectJ 字节码编织。它只是借用了用于定义AspectJ项目方面的注释。它是一个单独实现的框架,它使用运行时代理来实现方面。如果您的应用程序上下文中有<aop:aspectj-autoproxy />
,那么spring正在使用代理来实现在容器中的bean上定义的受支持方面。
代理只能实现实际 AspectJ 系统的全部功能的子集,基本上是包装方法的建议。由于它们的性质,代理具有以下限制:
public
成员进行private
/ protected
无法截获)this
或super
来电)如果您希望能够提供字段建议,则需要启用Native AspectJ。