这篇文章主要讲解了“如何使用AopContext.currentProxy()”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用AopContext.currentProxy()”吧!
创新互联拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕10多年,专业且经验丰富。10多年网站优化营销经验,我们已为上千多家中小企业提供了成都做网站、成都网站设计解决方案,按需求定制设计,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!
AopContext 同一个bean中方法相互调用没有走事物解决
在同一个类中,非事务方法A调用事务方法B,事务失效,得采用AopContext.currentProxy().xx()来进行调用,事务才能生效。
B方法被A调用,对B方法的切入失效,但加上AopContext.currentProxy()创建了代理类,在代理类中调用该方法前后进行切入。
对于B方法proxyA中调用只能对A进行增强,A里面调用B使用的是对象.B(),而不是$proxy.B(),所以对B的切入无效。
AopContext.currentProxy()使用了ThreadLocal保存了代理对象,因此
AopContext.currentProxy().B()就能解决。
在不同类中,非事务方法A调用事务方法B,事务生效。
在同一个类中,事务方法A调用非事务方法B,事务具有传播性,
事务生效
在不同类中,事务方法A调用非事务方法B,事务生效。
感谢各位的阅读,以上就是“如何使用AopContext.currentProxy()”的内容了,经过本文的学习后,相信大家对如何使用AopContext.currentProxy()这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
分享名称:如何使用AopContext.currentProxy()
地址分享:http://scyingshan.cn/article/gdhpci.html