spring事务介绍
PlatformTransactionManager :平台事物管理器,spring要管理事务,必须使用事务管理器进行事务配置时,必须配置事务管理器
TransactionDefinition:事务详情(事务定义、事务属性),spring用于确定事务具体详情,例如:隔离级别、是否只读、超时时间 等
TransactionStatus:事务状态,spring用于记录当前事务运行状态。例如:是否有保存点,事务是否完成
常用api
事物的传播性
传播行为:在两个业务之间如何共享事务。
int PROPAGATION_REQUIRED = 0; 默认值
支持当前事物,A如果有事务,B将使用该事务
A没有事务,B将创建一个新事务
int PROPAGATION_SUPPORTS = 1;支持
支持当前事物,A如果有事务,B将使用该事务
A没有事务,B将以非事物执行
int PROPAGATION_MANDATORY = 2;强制
支持当前事物,A如果有事务,B将使用该事务
A没有事务,B将抛异常
int PROPAGATION_REQUIRES_NEW = 3;
A如果有事务,A事务挂起,B创建一个新事务
如果A没有事务,B以非事务执行
int PROPAGATION_NOT_SUPPORTED = 4;
A如果有事务,A事务挂起,B以非事务执行
如果A没有事务,B以非事务执行
int PROPAGATION_NEVER = 5;
A如果有事务,A事务挂起,B抛异常
如果A没有事务,B以非事务执行
int PROPAGATION_NESTED = 6;
采用保存点 形成事务嵌套