文档解释说,LTW必须通过使用<context:load-time-weaver/> xml指令或使用@EnableLoadTimeWeaving注释来启用。但是,我没有做任何事情,但是我仍然看到在我的项目中正确地编织了一些方面!
发布于 2014-01-31 05:33:20
Spring 不依赖于AspectJ字节代码编织。它只是借用了用于从AspectJ项目中定义方面的注释。它是一个单独实现的框架,它使用运行时代理来实现方面。如果应用程序上下文中有<aop:aspectj-autoproxy />,那么spring使用代理来实现容器中bean上定义的受支持的方面。
代理只能实现实际的AspectJ系统的全部功能子集,基本上是包装方法的建议。由于其性质,代理人有以下限制:
public成员进行拦截(不能拦截private/protected)this或super的调用)例如,如果您希望能够通知字段,则需要启用原生AspectJ的使用。
https://stackoverflow.com/questions/21472679
复制相似问题