SpringAOP中 order屬性問題


當我練習使用Spring AOP對service層所有方法進行日志輸出,以及對涉及數據修改的方法進行事務控制,實現異常回滾的時候,在配置文件的<aop:config>中需要同時配置<aop:advisor>和<aop:aspect>,其中前者實現事務管理,后者實現日志輸出。

問題:但在實際操作過程中發現日志輸出沒問題,但異常事務並沒有進行回滾操作。

原因分析:后來發現是因為aop的優先級不同,造成執行順序不一樣,而事務的優先級高,所有先執行,造成沒有異常回滾。

解決辦法:設置order屬性,order值越小,優先級越高,把<aop:aspect> 的order設為1,<aop:advisor>的order設為3,問題得到解決


免責聲明!

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



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