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