问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SpringBoot中事务的配置与使用

发布网友 发布时间:2024-09-07 06:11

我来回答

1个回答

热心网友 时间:2024-09-07 11:13

1.开启事务

在Spring启动类中添加@EnableTransactionManagement可开启事务功能,默认已开启。

@SpringBootApplication@EnableTransactionManagement(显式开启事务,SpringBoot默认开启,可省略)publicclassEmosWxApiApplication{publicstaticvoidmain(String[]args){SpringApplication.run(EmosWxApiApplication.class,args);}}2.配置事务隔离等级(isolation参数)2.1什么是事务隔离等级?有什么作用?

事务的隔离分为四个等级:RU(ReadUncommitted)、RC(ReadCommitted)、RR(RepeatableRead)、SERIALIZABLE。

2.2怎么使用?

可以通过为业务层中的方法添加@Transactional注解以设置事务,注解中设置参数@Transactional(isolation='')以设计隔离等级,参数由枚举类来表示

publicenumIsolation{DEFAULT(-1),//数据库中默认的隔离等级如MySQL中是RR,Oracle支持RC和Serial,默认为RCREAD_UNCOMMITTED(1),READ_COMMITTED(2),REPEATABLE_READ(4),SERIALIZABLE(8);}//例子@Transactional(isolation=Isolation.DEFAULT)3.配置事务传播行为(propagation参数)3.1什么是事务的传播行为?

事务传播行为:指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。

3.2怎么设置传播参数?

传播参数的共分为7种

publicenumPropagation{REQUIRED(0),SUPPORTS(1),MANDATORY(2),REQUIRES_NEW(3),NOT_SUPPORTED(4),NEVER(5),NESTED(6);}3.2.1REQUIRED

执行被修饰的方法时,如果有事务上下文则加入该事物,如果没有则新开启一个事务。

3.2.2SUPPORTS

执行被修饰的方法时,如果存在事务上下文,则加入该事务,如果没有则非事务地执行。

3.2.3MANDATORY

执行被修饰的方法时,如果存在事务上下文,则加入该事务,如果没有则抛出异常thrownewIllegalTransactionStateException(“Transactionpropagation‘mandatory’butnoexistingtransactionfound”);

3.2.4REQUIRES_NEW

A执行被修饰的方法B时,先把调用者事务A挂起,再执行完被修饰的事务B后,再执行A,A事务是否成功提交不影响B事务。如果事务A发生回滚也不会影响到事务B的提交。

3.2.5NOT_SUPPORTED

总是非事务地执行,并挂起任何存在的事务。

3.2.6NEVER

总是非事务性地执行,如果存在一个活动的事务则抛出异常。

3.2.7NESTED

也是嵌套模式,类似于REQUIRES_NEW,事务A调用B方法,则A挂起,先执行B,执行完了在恢复执行A,但是有一点不同,A如果执行失败回滚了会导致内层的B也回滚,但是B如果执行失败了并不会导致外层的A回滚。如果调用B方法的A方法不存在事务,则B等于是REQUIRED。

4.配置只读(read-only)

@Transactional(isolation=Isolation.DEFAULT)

5.注意事项

待补充

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...△=口+口+口,问△、o、口谁大谁小,小学一年级数学期末附加题_百度知 ... 一年级数学△ +△ +〇 +〇 +〇=27,△ +△+ 〇 +〇+ △ +△=22问△=... 上海南浦大桥长途客运中心到虹桥机场第二航站楼怎么走? 上海浦东国际机场2号航站到上海长途汽车客运总站,最快怎么走,用时多少... 从上海长途汽车客运总站到虹桥机场2号航站楼 木头爱上烈火简介 省直遴选面向哪些群体? 义务教育阶段的学生有什么权利和义务? ngclz型带制动轮鼓形齿式联轴器内容简介 GⅡCL型基本型(窄型)鼓形齿式联轴器基本参数 周杰伦说他的祖先是三国时期东吴大都督周瑜,这事儿可能吗 关于周姓的历史名人 你好!如果重写一个toString 方法,那么跟没序列化有什么区别呢?没用到... 接近十公分大鳄现状 周瑜死后被称做周公吗 宝宝鼻塞流鼻涕缓解速效办法 26公分大鳄用多大的缸 菱智 胎压充多少气合适?平时载重1吨至1.5吨左右。? 宝宝流鼻涕可以自愈吗 10斤自家养公大鳄值多少钱,急急 无奈的诗句 形容无奈的诗句 为什么在湖南我的皮肤非常好,白里透红,几乎就是中性皮肤了!到广州还没... ipad如何安装手机版微信? 劈腿是什么意思?耳根子软是什么意思?跑龙套呢? 怎么下载app到ipad上 怎么看手机是全网还是移动 怎样知道苹果手机自己连的是2G还是5G 苹果手机如何知道是4G还是5G的网络? 茶啊二中电影有几部 合同的主要条款及撰写要求有什么 苗族男女是怎样表达爱意的 人字行的结构是由什么组成的? 2024年辽宁371分能考上什么大学? 热门短剧《再次见到你》大结局免费在线观看+全集已完结+剧集资源+剧情... 牙周炎会自己好吗 跑男鹿晗关晓彤哪一期 囚爱为奴短剧在哪可以免费播放 旧爱变新欢短剧免费观看全集高清 再见爱人短剧全集 重生后被偏执老公宠上天短剧全集免费观看 简阳到万源开车走高速那条路近 简阳到万源的路线那条路近 爸妈你们在哪里短剧免费观看 简阳到万源高速公路的路线 余生所念皆星辰短剧免费观看 短剧烈爱大结局 自然脱落的孔雀毛有没有禽流感 壮游mu大师后升 级还有属性点吗 奇迹mu壮游十字架之盾哪里掉落 qudelix K5 怎么样关机?