springboot中事務(wù)管理@Transactional的注意事項(xiàng)與使用場景
前言:在service層的方法上使用@Transactional 即可實(shí)現(xiàn)處理數(shù)據(jù)庫發(fā)生錯誤時觸發(fā)事務(wù)回滾機(jī)制。
注意:
- Spring 基于注解的聲明式事物 @Transactional 默認(rèn)情況下只會對運(yùn)行期異常(java.lang.RuntimeException及其子類)和 Error 進(jìn)行回滾。
- 數(shù)據(jù)庫引擎要支持事物,使用InnoDB。
- @Transactional 只能被應(yīng)用到public方法上, 對于其它非public的方法,如果標(biāo)記了@Transactional也不會報(bào)錯,但方法沒有事務(wù)功能.
具體使用場景:
- 在service方法中不使用try-catch顯示處理異常,直接
throw new runtimeexcetpion()可實(shí)現(xiàn)事務(wù)回滾 - 在service方法中使用try-catch,但是需要在catch中加上
throw new runtimeexcetpion()可實(shí)現(xiàn)事務(wù)回滾 - 注意當(dāng)方法加上synchronized時,由于鎖的作用范圍比事務(wù)的作用范圍小,因此應(yīng)該修改鎖的作用范圍,保證鎖的范圍比事務(wù)的范圍大即可。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
詳解JVM的內(nèi)存對象介紹[創(chuàng)建和訪問]
這篇文章主要介紹了JVM的內(nèi)存對象介紹[創(chuàng)建和訪問],文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
Maven和IntelliJ IDEA搭建多模塊微服務(wù)的實(shí)現(xiàn)
本文主要介紹了Maven和IntelliJ IDEA搭建多模塊微服務(wù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
java生成pdf表格,調(diào)用itext創(chuàng)建的實(shí)例
這篇文章主要介紹了java生成pdf表格,調(diào)用itext創(chuàng)建的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
java中用float時,數(shù)字后面加f,這樣是為什么你知道嗎
這篇文章主要介紹了java用float時,數(shù)字后面加f,這樣是為什么你知道嗎?具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
SpringBoot+@EnableScheduling使用定時器的常見案例
項(xiàng)目開發(fā)中經(jīng)常需要執(zhí)行一些定時任務(wù),本文主要介紹了SpringBoot+@EnableScheduling使用定時器的常見案例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
Springboot+hibernate實(shí)現(xiàn)簡單的增刪改查示例
今天小編就為大家分享一篇Springboot+hibernate實(shí)現(xiàn)簡單的增刪改查示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08

