成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試突擊:SpringBoot 中如何操作事務(wù)?

開發(fā) 架構(gòu)
本文我們介紹了兩種事務(wù)的實(shí)現(xiàn)方式:編程式事務(wù)或聲明式事務(wù)。其中編程式事務(wù)又分為兩種實(shí)現(xiàn):使用 TransactionTemplate 對象或更加底層的 TransactionManager 對象分別實(shí)現(xiàn)編程式事務(wù),它們的優(yōu)點(diǎn)是靈活性更高,可以在任何代碼片段上添加事務(wù);而聲明式事務(wù)的實(shí)現(xiàn)更加簡單,只需要在類或方法上添加 @Transactional 注解即可實(shí)現(xiàn)事務(wù)的自動開啟和提交(以及回滾)。

在 Spring Boot 中操作事務(wù)有兩種方式:編程式事務(wù)或聲明式事務(wù),接下來我們一起來看二者的具體實(shí)現(xiàn)。

1.編程式事務(wù)

在 Spring Boot 中實(shí)現(xiàn)編程式事務(wù)又有兩種實(shí)現(xiàn)方法:

  • 使用 TransactionTemplate 對象實(shí)現(xiàn)編程式事務(wù);
  • 使用更加底層的 TransactionManager 對象實(shí)現(xiàn)編程式事務(wù)。

它們的具體實(shí)現(xiàn)代碼如下。

1.1 TransactionTemplate 使用

要使用 TransactionTemplate 對象需要先將 TransactionTemplate 注入到當(dāng)前類中 ,然后再使用它提供的 execute 方法執(zhí)行事務(wù)并返回相應(yīng)的執(zhí)行結(jié)果,如果程序在執(zhí)行途中出現(xiàn)了異常,那么就可以使用代碼手動回滾事務(wù),具體實(shí)現(xiàn)代碼如下:

1.2 TransactionManager 使用

TransactionManager 實(shí)現(xiàn)編程式事務(wù)相對麻煩一點(diǎn),它需要使用兩個對象:TransactionManager 的子類,加上 TransactionDefinition 事務(wù)定義對象,再通過調(diào)用 TransactionManager 的 getTransaction 獲取并開啟事務(wù),然后調(diào)用 TransactionManager 提供的 commit 方法提交事務(wù),或使用它的另一個方法 rollback 回滾事務(wù),它的具體實(shí)現(xiàn)代碼如下:

從上述代碼可以看出,使用編程式事務(wù)更加靈活,但寫法比較麻煩。

2.聲明式事務(wù)

聲明式事務(wù)的實(shí)現(xiàn)比較簡單,只需要在方法上或類上添加 @Transactional 注解即可,當(dāng)加入了 @Transactional 注解就可以實(shí)現(xiàn)在方法執(zhí)行前,自動開啟事務(wù);在方法成功執(zhí)行完,自動提交事務(wù);如果方法在執(zhí)行期間,出現(xiàn)了異常,那么它會自動回滾事務(wù)。

它的具體使用如下:

當(dāng)然,@Transactional 支持很多參數(shù)的設(shè)置,它的參數(shù)設(shè)置列表如下:

參數(shù)的設(shè)置方法如下:

總結(jié)

本文我們介紹了兩種事務(wù)的實(shí)現(xiàn)方式:編程式事務(wù)或聲明式事務(wù)。其中編程式事務(wù)又分為兩種實(shí)現(xiàn):使用 TransactionTemplate 對象或更加底層的 TransactionManager 對象分別實(shí)現(xiàn)編程式事務(wù),它們的優(yōu)點(diǎn)是靈活性更高,可以在任何代碼片段上添加事務(wù);而聲明式事務(wù)的實(shí)現(xiàn)更加簡單,只需要在類或方法上添加 @Transactional 注解即可實(shí)現(xiàn)事務(wù)的自動開啟和提交(以及回滾)。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2022-09-25 22:12:07

事務(wù)SpringBoot

2022-07-06 07:35:19

group byMySQL

2022-09-19 06:16:23

事務(wù)隔離級別Spring

2022-09-20 22:27:08

事務(wù)失效public 修飾

2022-02-28 07:01:22

線程中斷interrupt

2022-06-29 11:01:05

MySQL事務(wù)隔離級別

2022-09-14 19:50:22

事務(wù)場景流程

2022-09-27 21:14:54

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

2022-04-13 14:43:05

JVM同步鎖Monitor 監(jiān)視

2022-10-09 20:52:19

事務(wù)隔離級別傳播機(jī)制

2022-08-17 07:06:14

SpringBoot配置@Value

2022-04-11 07:40:45

synchroniz靜態(tài)方法程序

2022-07-11 07:10:48

HTTP協(xié)議類型

2022-09-07 07:05:25

跨域問題安全架構(gòu)

2022-03-28 08:31:29

線程池定時任務(wù)

2022-04-06 07:50:28

線程安全代碼

2022-05-05 07:38:32

volatilJava并發(fā)

2022-06-06 07:35:26

MySQLInnoDBMyISAM

2022-04-20 07:47:00

notify喚醒線程JVM

2022-07-27 07:36:01

TCP可靠性
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: www久久国产 | 日韩精品在线网站 | www日日日 | 污视频在线免费观看 | 免费的色网站 | 亚洲精品欧美一区二区三区 | 中文字幕国产一区 | 中文字幕人成人 | 免费久久网站 | 国产欧美精品 | 精品视频一区二区三区在线观看 | 日韩精品视频在线观看一区二区三区 | 一级视频在线免费观看 | 日韩在线观看精品 | 国产一级视频在线播放 | а天堂中文最新一区二区三区 | 成年人在线观看 | 中文字幕电影在线观看 | 欧美 日韩 国产 在线 | 成人免费视频网 | 久久久www成人免费无遮挡大片 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 国产欧美日韩久久久 | 日韩有码在线播放 | 亚洲区一 | 在线观看黄色 | 在线视频中文字幕 | 亚洲欧美日韩精品久久亚洲区 | 视频一区 国产精品 | 成人久久18免费网站 | 亚洲免费在线 | 日本高清视频在线播放 | 四虎影院新网址 | 欧美激情在线精品一区二区三区 | 欧美一区在线视频 | 精品国产一区二区三区性色av | 久久久国产一区二区三区 | 亚洲精品在线免费 | 国产成人自拍一区 | 色av一区| 中国人pornoxxx麻豆 |