达到Spring的tx:来自纯AspectJ的建议

时间:2013-10-31 13:59:18

标签: aspectj spring-aop spring-transactions

我为我的Spring应用程序启用了LTW,只要有问题的建议bean没有Spring的AOP功能,就可以正确编写类 - 即方法字节码修改而不是代理。

但是,一旦我将tx:annotation-driven@Transactional添加到该bean,所有方法,甚至那些与Spring功能无关的方法,以前都使用正确的字节码编织,现在都可以通过JDK调用代理。

这可能意味着我必须放弃tx:annotation-driven并将AspectJ配置为使用Spring的tx:advice来使用Spring @Transactional注释的方法。

但是如何从AspectJ配置中访问Spring bean?

1 个答案:

答案 0 :(得分:0)

我找到的唯一解决方案是将AspectJ编译器添加到构建工具链并实现AbstractTransactionAspect.aj方面和Spring启动调用TheImplementedAspect.aspectOf().setTransactionManager()