0

我为我的 Spring 应用程序启用了 LTW,只要有问题的建议 bean 没有 Spring 的 AOP 特性,这些类就可以正确编织——也就是说,方法中的字节码修改而不是代理。

但是,一旦我添加tx:annotation-driven@Transactional该 bean 中,所有方法,即使是那些与 Spring 特性无关的方法,以前都是用适当的字节码编织的,现在都通过 JDK 代理调用。

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

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

4

1 回答 1

0

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

于 2013-11-05T12:56:39.237 回答