最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring事務的傳播機制使用及說明

 更新時間:2025年11月22日 12:09:31   作者:光依舊  
本文介紹了Spring事務的傳播機制,包括事務的傳播行為、傳播級別以及如何在方法中使用這些傳播級別,通過一個例子說明了不同傳播級別的效果

spring事務的傳播機制

1、spring事務

指封裝在數據庫事務之上的一種事務處理機制。其管理方法有兩種,分別是編程式事務以及聲明式事務。

一般我們使用@Transactional進行聲明式事務。

2、Spring事務的傳播機制

事務的傳播,是指一個方法調用另一個方法并將事務傳遞給它。

事務的轉播機制主要針對被調用者而言,控制它是否被傳播或者被怎樣傳播。

spring事務的傳播機制有七種

傳播行為描述
PROPAGATION_REQUIRED默認的Spring事物傳播級別,若當前存在事務,則加入該事務,若不存在事務,則新建一個事務
PROPAGATION_REQUIRE_NEW若當前沒有事務,則新建一個事務。若當前存在事務,則新建 一個事務,新老事務相互獨立。外部事務拋出異?;貪L不會影響內部事務的正常提交
PROPAGATION_NESTED如果當前存在事務,則嵌套在當前事務中執(zhí)行。如果當前沒有事務, 則新建一個事務,類似于REQUIRE_NEW
PROPAGATION_SUPPORTS支持當前事務,若當前不存在事務,以非事務的方式執(zhí)行
PROPAGATION_NOT_SUPPORTED以非事務的方式執(zhí)行,若當前存在事務,則把當前事務掛起
PROPAGATION_MANDATORY強制事務執(zhí)行,若當前不存在事務,則拋出異常
PROPAGATION_NEVER以非事務的方式執(zhí)行,如果當前存在事務,則拋出異常

傳播級別一般不需要定義,默認就是PROPAGATION_REQUIRED,除非在嵌套事務的情況。

上述描述表格的描述還是比較抽象,下面我們使用一個例子來說明這個傳播機制。

假定方法A調用方法B

方法B定義的事務類型A方法有事務時A方法無事務
 @Transactional(propagation = Propagation.REQUIRED)    B和A事務合并成一個事務B新建一個事務
 @Transactional(propagation = Propagation.REQUIRES_NEW)  B新建一個事務,和A事務無關,互不影響B新建一個事務
 @Transactional(propagation = Propagation.NESTED)  B新建一個A的子事務,A異常影響B(tài),B異常不影響AB新建一個事務
 @Transactional(propagation = Propagation.SUPPORTS)  B加入到A事務中B無事務
 @Transactional(propagation = Propagation.NOT_SUPPORTED)  掛起A事務,B以無事務方式執(zhí)行B無事務
 @Transactional(propagation = Propagation.MANDATORY)  B加入到A事務中B拋異常
 @Transactional(propagation = Propagation.NEVER)  B拋異常B無事務

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Spring Boot利用JSR303實現參數驗證的方法實例

    Spring Boot利用JSR303實現參數驗證的方法實例

    這篇文章主要給大家介紹了關于Spring Boot利用JSR303實現參數驗證的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-05-05
  • Java實現利用圖片或視頻生成GIF并發(fā)送微信

    Java實現利用圖片或視頻生成GIF并發(fā)送微信

    這篇文章主要為大家詳細介紹了Java語言如何利用圖片或視頻實現生成GIF并發(fā)送微信的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下
    2022-11-11
  • springboot中swagger、異步/定時/郵件任務的問題

    springboot中swagger、異步/定時/郵件任務的問題

    這篇文章主要介紹了springboot中swagger、異步/定時/郵件任務的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • 全面解析Hibernate關聯操作、查詢操作、高級特性、并發(fā)處理機制

    全面解析Hibernate關聯操作、查詢操作、高級特性、并發(fā)處理機制

    這篇文章主要介紹了全面解析Hibernate關聯操作、查詢操作、高級特性、并發(fā)處理機制的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • Feign調用服務各種坑的處理方案

    Feign調用服務各種坑的處理方案

    這篇文章主要介紹了Feign調用服務各種坑的處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java中Native方法實現步驟及注意事項

    Java中Native方法實現步驟及注意事項

    這篇文章主要給大家介紹了關于Java中Native方法實的相關資料,包括其定義、使用場景、實現步驟以及注意事項,通過一個具體的示例,展示了如何在Java中聲明和調用Native方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-04-04
  • 扒一扒 Java 中的枚舉類型

    扒一扒 Java 中的枚舉類型

    這篇文章主要給大家介紹了Java中枚舉類型的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • Java實現各種文件類型轉換方式(收藏)

    Java實現各種文件類型轉換方式(收藏)

    這篇文章主要介紹了Java?各種文件類型轉換的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 深入了解SpringBoot中@InitBinder注解的使用

    深入了解SpringBoot中@InitBinder注解的使用

    這篇文章主要介紹了深入了解SpringBoot中@InitBinder注解的使用,@InitBinder注解可以作用在被@Controller注解的類的方法上,表示為當前控制器注冊一個屬性編輯器,用于對WebDataBinder進行初始化,且只對當前的Controller有效,需要的朋友可以參考下
    2023-10-10
  • SpringBoot參數校驗之@Valid與@Validated的用法與場景

    SpringBoot參數校驗之@Valid與@Validated的用法與場景

    這篇文章主要介紹了SpringBoot參數校驗的用法與場景,在實際開發(fā)中,參數校驗是保證接口安全性和數據完整性的重要手段,Spring Boot提供了@Valid和@Validated兩個核心注解來實現參數校驗,但許多開發(fā)者對它們的區(qū)別和使用場景存在疑惑,需要的朋友可以參考下
    2025-02-02

最新評論

昌乐县| 都江堰市| 瑞安市| 巩义市| 高安市| 雷波县| 顺义区| 怀化市| 定州市| 乌拉特前旗| 仙居县| 昌图县| 阿图什市| 洪泽县| 鹤壁市| 包头市| 阿城市| 剑河县| 德阳市| 罗田县| 德安县| 德格县| 沾益县| 茶陵县| 乳山市| 克什克腾旗| 虎林市| 江安县| 泰顺县| 酒泉市| 郴州市| 新乡市| 南皮县| 南雄市| 葵青区| 嵊州市| 台南市| 唐山市| 建宁县| 桦南县| 萍乡市|