springboot中事務管理@Transactional的注意事項與使用場景
更新時間:2019年04月10日 09:52:52 作者:Kikityer
今天小編就為大家分享一篇關于springboot中事務管理@Transactional的注意事項與使用場景,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
前言:在service層的方法上使用@Transactional 即可實現處理數據庫發(fā)生錯誤時觸發(fā)事務回滾機制。
注意:
- Spring 基于注解的聲明式事物 @Transactional 默認情況下只會對運行期異常(java.lang.RuntimeException及其子類)和 Error 進行回滾。
- 數據庫引擎要支持事物,使用InnoDB。
- @Transactional 只能被應用到public方法上, 對于其它非public的方法,如果標記了@Transactional也不會報錯,但方法沒有事務功能.
具體使用場景:
- 在service方法中不使用try-catch顯示處理異常,直接
throw new runtimeexcetpion()可實現事務回滾 - 在service方法中使用try-catch,但是需要在catch中加上
throw new runtimeexcetpion()可實現事務回滾 - 注意當方法加上synchronized時,由于鎖的作用范圍比事務的作用范圍小,因此應該修改鎖的作用范圍,保證鎖的范圍比事務的范圍大即可。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
Java中的notyfy()和notifyAll()的本質區(qū)別
很多朋友對java中的notyfy()和notifyAll()的本質區(qū)別不了解,今天小編抽空給大家整理一篇教程關于Java中的notyfy()和notifyAll()的本質區(qū)別,需要的朋友參考下吧2017-02-02
Java的Struts2框架配合Ext JS處理JSON數據的使用示例
這篇文章主要介紹了Java的Struts2框架配合Ext JS處理JSON數據的使用示例,包括將Ext JS中的JSON數據解析為列表的方法,需要的朋友可以參考下2016-03-03
SpringBoot?實現CAS?Server統(tǒng)一登錄認證的詳細步驟
??CAS(Central?Authentication?Service)中心授權服務,是一個開源項目,目的在于為Web應用系統(tǒng)提供一種可靠的單點登錄,這篇文章主要介紹了SpringBoot?實現CAS?Server統(tǒng)一登錄認證,需要的朋友可以參考下2024-02-02

