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

Spring事務(wù)的傳播機(jī)制使用及說明

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

spring事務(wù)的傳播機(jī)制

1、spring事務(wù)

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

一般我們使用@Transactional進(jìn)行聲明式事務(wù)。

2、Spring事務(wù)的傳播機(jī)制

事務(wù)的傳播,是指一個(gè)方法調(diào)用另一個(gè)方法并將事務(wù)傳遞給它。

事務(wù)的轉(zhuǎn)播機(jī)制主要針對(duì)被調(diào)用者而言,控制它是否被傳播或者被怎樣傳播。

spring事務(wù)的傳播機(jī)制有七種

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

傳播級(jí)別一般不需要定義,默認(rèn)就是PROPAGATION_REQUIRED,除非在嵌套事務(wù)的情況。

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

假定方法A調(diào)用方法B

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

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot利用JSR303實(shí)現(xiàn)參數(shù)驗(yàn)證的方法實(shí)例

    Spring Boot利用JSR303實(shí)現(xiàn)參數(shù)驗(yàn)證的方法實(shí)例

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

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

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

    springboot中swagger、異步/定時(shí)/郵件任務(wù)的問題

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

    全面解析Hibernate關(guān)聯(lián)操作、查詢操作、高級(jí)特性、并發(fā)處理機(jī)制

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

    Feign調(diào)用服務(wù)各種坑的處理方案

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

    Java中Native方法實(shí)現(xiàn)步驟及注意事項(xiàng)

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

    扒一扒 Java 中的枚舉類型

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

    Java實(shí)現(xiàn)各種文件類型轉(zhuǎn)換方式(收藏)

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

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

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

    SpringBoot參數(shù)校驗(yàn)之@Valid與@Validated的用法與場(chǎng)景

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

最新評(píng)論

SHOW| 普洱| 关岭| 浏阳市| 安义县| 津市市| 哈巴河县| 莫力| 新绛县| 鸡东县| 上饶市| 永顺县| 贺兰县| 剑河县| 黑水县| 松滋市| 潜江市| 靖宇县| 酉阳| 乌恰县| 鲁甸县| 金沙县| 洛阳市| 绥化市| 贵德县| 太仓市| 新和县| 昌乐县| 调兵山市| 中超| 城口县| 太湖县| 盐源县| 东乌珠穆沁旗| 中阳县| 外汇| 义乌市| 西畴县| 中阳县| 西乌珠穆沁旗| 称多县|