本文主要是介绍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注解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!