springboot中事務(wù)管理@Transactional的注意事項與使用場景
前言:在service層的方法上使用@Transactional 即可實現(xiàn)處理數(shù)據(jù)庫發(fā)生錯誤時觸發(fā)事務(wù)回滾機制。
注意:
- Spring 基于注解的聲明式事物 @Transactional 默認情況下只會對運行期異常(java.lang.RuntimeException及其子類)和 Error 進行回滾。
- 數(shù)據(jù)庫引擎要支持事物,使用InnoDB。
- @Transactional 只能被應(yīng)用到public方法上, 對于其它非public的方法,如果標記了@Transactional也不會報錯,但方法沒有事務(wù)功能.
具體使用場景:
- 在service方法中不使用try-catch顯示處理異常,直接
throw new runtimeexcetpion()可實現(xiàn)事務(wù)回滾 - 在service方法中使用try-catch,但是需要在catch中加上
throw new runtimeexcetpion()可實現(xiàn)事務(wù)回滾 - 注意當方法加上synchronized時,由于鎖的作用范圍比事務(wù)的作用范圍小,因此應(yīng)該修改鎖的作用范圍,保證鎖的范圍比事務(wù)的范圍大即可。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- SpringBoot事務(wù)注解@Transactional失效場景與解決方案
- 如何使用Spring boot的@Transactional進行事務(wù)管理
- Springboot @Transactional大事務(wù)處理的幾點建議
- Springboot中@Transactional注解與異常處理機制方式
- SpringBoot?@Transactional事務(wù)不生效排查方式
- 解決SpringBoot中使用@Transactional注解遇到的問題
- springboot中使用@Transactional注解事物不生效的坑
- Spring Boot的測試類中使用 @Transactional 注解
相關(guān)文章
Java中的notyfy()和notifyAll()的本質(zhì)區(qū)別
很多朋友對java中的notyfy()和notifyAll()的本質(zhì)區(qū)別不了解,今天小編抽空給大家整理一篇教程關(guān)于Java中的notyfy()和notifyAll()的本質(zhì)區(qū)別,需要的朋友參考下吧2017-02-02
Java的Struts2框架配合Ext JS處理JSON數(shù)據(jù)的使用示例
這篇文章主要介紹了Java的Struts2框架配合Ext JS處理JSON數(shù)據(jù)的使用示例,包括將Ext JS中的JSON數(shù)據(jù)解析為列表的方法,需要的朋友可以參考下2016-03-03
SpringBoot?實現(xiàn)CAS?Server統(tǒng)一登錄認證的詳細步驟
??CAS(Central?Authentication?Service)中心授權(quán)服務(wù),是一個開源項目,目的在于為Web應(yīng)用系統(tǒng)提供一種可靠的單點登錄,這篇文章主要介紹了SpringBoot?實現(xiàn)CAS?Server統(tǒng)一登錄認證,需要的朋友可以參考下2024-02-02
Java結(jié)合Swing實現(xiàn)龍年祝福語生成工具
Swing是一個為Java設(shè)計的GUI工具包,屬于Java基礎(chǔ)類的一部分,本文將使用Java和Swing實現(xiàn)龍年祝福語生成工具,感興趣的小伙伴可以了解下2024-01-01

