Spring事務控制和傳遞性


1.在同一類方法間相互調用,如果調用方無事務控制,被調用方有事務控制,則被調用方也無事務

原因:外部經過spring容器調用service的方法事務才生效,service類內部方法間相互調用事務不生效,也就是傳說中的自調用失效問題。主要原因是 Spring數據庫事務的約定,其實現原理是AOP,而AOP的原理是動態代理,在自調用的過程中,是類自身的調用,而不是代理對象去調用,那么就不會產生AOP,這樣 Spring就不能把你的代碼織入到約定的流程中,於是就產生了現在看到的失敗場景。

2.默認事務傳遞性)事務控制A調用事務控制B,如果B拋異常,A處理異常,則整個事務會回滾,同時報錯Transaction rolled back because it has been arked as rollback-only


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM