您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何使用AopContext.currentProxy()”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何使用AopContext.currentProxy()”吧!
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()這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。