欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring事務的失效場景你知道多少

 更新時間:2022年03月03日 16:37:12   作者:wanyu_123  
這篇文章主要為大家詳細介紹了Spring事務的失效場景,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

1、Spring事務最終依賴的數據庫的事務,如果用的是mysql的話,執(zhí)行引擎要是innodb;因為只有innoDB 支持事務。

2、Spring的事務是原理是aop,所以加事務所在bean是要Spring容器管理的;自己new出來的對象肯定是不行的。

3、Spring事務標簽@Transactional必須注解在public方法上。privateprotected、default以及finally修飾的方法或者類,以及靜態(tài)方法,事務都會失效的。

4、同一個類中內部方法調用,事務會失效的。調用的是this,下圖中的updateOrder上的事務會失效的??梢栽俣x一個service,調用service里面的updateOrder即可生效。

5、多線程調用事務是會失效的。事務是建立在同一個數據鏈接上,多線程可能拿到的連接不是同一個連接,所以事務是會失效的。如下圖的doOtherThing()拋出了異常,想讓add回滾那是不可能的。

6、事務傳播性,@Transactional注解時,是可以指定propagation參數的,擴展其配置不支持事務。

Propagation.NOT_SUPPORTED,這種類型的傳播特性不支持事務,如果有事務則會拋異常。

目前只有這三種傳播特性才會創(chuàng)建新事務:NESTED,REQUIRES_NEW,REQUIRED。

7、當遇到異常,如果是RuntimeException則會回滾,其他則不行,除非自定義了@Transactional(rollbackFor = Exception.class), 這個配置僅限于 Throwable 異常類及其子類.

8、自己吞了異常,try catch了,自然也不會會滾了。

9、事務嵌套太多,導致回滾多了。如下本想會滾doOtherThing(),但如果doOtherthing拋出異常了,add也接收到了,也會回滾的。比較好的做法是在roleService.doOtherThing()抓住異常。

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容! 

相關文章

  • Java可重入鎖的實現原理與應用場景

    Java可重入鎖的實現原理與應用場景

    今天小編就為大家分享一篇關于Java可重入鎖的實現原理與應用場景,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • java顯示當前的系統時間

    java顯示當前的系統時間

    這篇文章主要介紹了java如何顯示當前的系統時間,代碼很簡單,自己可以自定義顯示的系統時間的顏色和字體,需要的朋友可以參考下
    2015-10-10
  • java中json-diff簡單使用及對象是否一致詳解

    java中json-diff簡單使用及對象是否一致詳解

    這篇文章主要為大家介紹了java中json-diff簡單使用及對象是否一致對比詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 解讀Mapper與Mapper.xml文件之間匹配的問題

    解讀Mapper與Mapper.xml文件之間匹配的問題

    這篇文章主要介紹了解讀Mapper與Mapper.xml文件之間匹配的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Java布隆過濾器的原理和實現分析

    Java布隆過濾器的原理和實現分析

    數組、鏈表、樹等數據結構會存儲元素的內容,一旦數據量過大,消耗的內存也會呈現線性增長所以布隆過濾器是為了解決數據量大的一種數據結構。本文就來和大家詳細說說布隆過濾器的原理和實現,感興趣的可以了解一下
    2022-10-10
  • SpringCloud中NacosNamingService的作用詳解

    SpringCloud中NacosNamingService的作用詳解

    這篇文章主要介紹了SpringCloud中NacosNamingService的作用詳解,NacosNamingService類完成服務實例注冊,撤銷與獲取服務實例操作,NacosNamingService初始化采用單例模式,使用反射生成,需要的朋友可以參考下
    2023-11-11
  • Mybatis整合Spring 由于版本引起的BUG問題

    Mybatis整合Spring 由于版本引起的BUG問題

    這篇文章主要介紹了Mybatis整合Spring 由于版本引起的BUG問題,需要的朋友可以參考下
    2017-06-06
  • SpringBoot如何統一清理數據

    SpringBoot如何統一清理數據

    這篇文章主要介紹了SpringBoot如何統一清理數據問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java實現文件上傳保存

    Java實現文件上傳保存

    這篇文章主要為大家詳細介紹了Java實現文件上傳保存,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 手把手教你寫Maven的archetype項目腳手架

    手把手教你寫Maven的archetype項目腳手架

    本文主要介紹了Maven的archetype項目腳手架,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論