我为我的Spring应用程序启用了LTW,只要有问题的建议bean没有Spring的AOP功能,就可以正确编写类 - 即方法字节码修改而不是代理。
但是,一旦我将tx:annotation-driven
和@Transactional
添加到该bean,所有方法,甚至那些与Spring功能无关的方法,以前都使用正确的字节码编织,现在都可以通过JDK调用代理。
这可能意味着我必须放弃tx:annotation-driven
并将AspectJ配置为使用Spring的tx:advice
来使用Spring @Transactional
注释的方法。
但是如何从AspectJ配置中访问Spring bean?
答案 0 :(得分:0)
我找到的唯一解决方案是将AspectJ编译器添加到构建工具链并实现AbstractTransactionAspect.aj
方面和Spring启动调用TheImplementedAspect.aspectOf().setTransactionManager()
。