一.目录
前言
内容
结语
二. 前言
事务管理器可以设置propagation事务传播机制的属性
三.内容
propagation事务传播机制
-
REQUIRED:默认值(通常这个已经满足大多数需求)。表示如果存在一个事务,则支持当前事务;如果当前没有事务,则开启一个新的事务
-
SUPPOSRTS:表示如果存在一个事务,则支持当前事务;如果当前没有事务,则按非事务方式执行
-
MANDATORY:表示如果存在一个事务,则支持当前事务;如果当前没有一个活动的事务,则抛出异常
-
REQUIRES_NEW:表示总是开启一个新的事务;如果一个事务已经存在,则将这个存在的事务挂起,开启新事务执行该方法
-
NOT_SUPPOSRTS:表示总是以非事务方式执行,如果一个事务已经存在,则将这个存在的事物挂起,然后执行该方法
-
NEVER:表示总是以非事务方式执行,如果当前存在一个活动的事务,则抛出异常
-
NESTED:表示如果当前存在一个活动的事务,则创建一个事务作为当前事务的嵌套事务运行。如果没有当前事务,该取值与EQUIRED相同
isolation事务隔离等级
当前事务和其它事务的隔离程序,在并发的情况下需要考虑它的设置
-
DEFAULT:默认值,表示使用数据库默认的事务隔离级别
-
READ_UNCOMMITTED:未提交读
-
READ_COMMITTED:提交读
-
REPEATABLE_READ:可重复读
-
SERIALIZABLE:串行读
timeout
事务超时时间。允许事务运行的最长时间,以s为单位,超过设置时间自动回滚,需要底层的实现支持,默认为-1,不超时。
read-only
事务是否为可读,默认为false。对于只执行查询功能的事务,把它设置为true,可以提高事务的处理性能
rollback-for
设置能够触发回滚的异常类型。Spring默认只在抛出Runtime Exception时才标识事务回滚。可以通过全限定类名自定义指定需要回滚的事务异常,多个类名用英文逗号隔开
no-rollback-for
设定不触发回滚的异常类型,Spring默认checked Exception不会触发事务回滚。可以通过全限定类名自定义指定不回滚的事务异常,多个类名用英文逗号隔开
四.结语
其实现在基本使用spring boot,基本知识还是很重要的!