spring的@Transactional注解

2022/4/3 23:22:30

本文主要是介绍spring的@Transactional注解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

@Transactional注解的属性

属性 类型 描述
value Sring 指定事务管理
propagation enum:Propagation 指定事务传播行为
isolation enum:Isolation 指定事务的隔离级别
readOnly boolean
timeout int
rollbackFor
rollbackForClassName
noRollbackFor
noRollbackForClassName

事务的传播行为propagation

假设上下文由事务A,现在@Transactional注解又标注的methodB()方法,那么此时是新建一个事务B还是把methodB()方法加入的事务A中?
Propagation.REQUIRED:默认设置,存在事务A就加入事务A,若不存在事务A,就新建事务B。
Propagation.REQUIRES_NEW:创建事务B,若存在事务A,挂起事务A
Propagation.SUPPORTS:若存在事务A就加入事务A,否则以非法形式存在。
Propagation.NOT_SUPPORTED:methodB()方法以非法形式存在,若存在事务A,挂起事务A
Propagation.NEVER:methodB()方法以非法形式存在,若存在事务A,抛出异常
Propagation.MANDATORY:若存在事务A,methodB()方法加入事务A,否则抛出异常
Propagation.NESTED:创建事务B,methodB()在事务B内运行,若存在事务A,则事务B嵌套在事务A中。

事务的隔离级别isolation

Isolation.DEFAULT:
Isolation.REPEATABLE_READ;
Isolation.READ_COMMITTED;
Isolation.READ_UNCOMMITTED;
Isolation.SERIALIZABLE


这篇关于spring的@Transactional注解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程