使用spring-aspects包无效的问题

发布于 2021-11-26 14:53:09 字数 211 浏览 734 评论 2

@EnableTransactionManagement(mode=AdviceMode.ASPECTJ)

@EnableCaching(mode=AdviceMode.ASPECTJ)

使用以上注解,事务和缓存没有任何反应,打断点跟踪发现应该切入的对象也没有被代理。加入了spring-aspects包

自己写的aspect确有用,请问这是什么原因?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

白龙吟 2021-11-28 05:26:06

AbstractAspectJAdvisorFactory.isAspect方法说明写到,使用AJC编译的Aspectj类无法通过Spring AOP来处理。没大虾帮忙,继续看看到底怎么用。

拥有 2021-11-27 09:07:42

在根配置类上面加了@EnableLoadTimeWeaving,它会在当前容器加载完后再向web类加载器添加ClassFileTransformer,导致当前容器的Bean没有织入。

解决方法:把所有bean都放到spring mvc的容器,或者放到其它子容器,总之不要放在根容器,如果不特意处理,根容器的bean是不会织入的。

另外4.0及以后的版本在tomcat下面跑不需要修改tomcat的context了,因为4.0的版本添加了TomcatLoadTimeWeaver类。

还有个问题,织入后打点断点那么爽了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文