最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

学习笔记——Spring声明式事务管理属性(隔离级别、事务超时、事务只读、事务回滚);Spring5新特性、新注解&整合log4j2;Spring5整合Junit5

来源:博客园

2023-01-19


(相关资料图)

Spring声明式事务管理属性

一、隔离级别

1、概念:一个事务与其他事务之间的隔离等级(1,2,4,8)。

2、隔离级别:

(1)读未提交(1):READ UNCOMMTTED

存在问题:脏读(读取到了未提交数据)

(2)读已提交(2):READ COMMTTED

存在问题:可能出现不可重复读

(3)可重复读(4):REPEATABLE READ

存在问题:可能出现幻读

(4)串行化(8):SERIALIZABLE

二、事务超时

1、设置事务超时时间,到达指定时间后会强制事务回滚

2、类型:int,单位:秒

3、默认值:-1(未设置强制回滚)

三、事务只读(readonly)

1、一般事务方法中只有查询操作时,才将事务设置为只读

2、默认值:false

四、事务回滚

1、rollbackFor:设置回滚的异常Class

2、noRollbackFor:设置不回滚异常Class

五、基于XML方式,配置声明式事务管理

六、Spring5新特性、新注解&整合log4j2

1、添加新注解

@Nullable作用

①位置:可以书写在方法&属性上面&参数前面。

②作用:表示当前方法或属性可以为空,当前属性为空时,消除空指针异常。

2、Spring5整合Log4j2

(1)导入jar包

    org.apache.logging.log4j    log4j-slf4j-impl    2.11.2    test

(2)编写配置文件

                                                                        

七、Spring5整合Junit5

1、导入jar包(注:将Junit4的jar包删除)

                    org.springframework            spring-test            5.3.10                                    org.junit.jupiter            junit-jupiter-api            5.7.2            test        

2、使用注解整合即可

(1)整合方式一

@ContextConfiguration(locations = "classpath:applicationContext_transactionmanager.xml")@ExtendWith(SpringExtension.class)

(2)整合方式二

@SpringJUnitConfig(locations = "classpath:applicationContext_transactionmanager.xml")

关键词: 隔离级别 存在问题 可能出现