Sping事务核心接口
核心模块
TransactionDefiniton 事务定义器:用于定义事务的隔离级别,传播行为,只读等信息。
PlatformTransactionManager 平台事务管理器:用于commit()或者rollback()事务。
TransactionStatus : 事务的状态:savepoint信息,是否新建,是否已完成。
Interface DateSource:数据库连接对象 getConnection()
实现类:BasicDataSource
核心方法
配置文件
![](https://i-blog.csdnimg.cn/blog_migrate/be31248687a318374608f6ef865a541b.png)
TransactionDefiniton 事务定义器:隔离级别,传播行为,事务超时,只读状态
int getIsolationLevel() | 返回事务的隔离级别 |
String getName() | 返回事务的名称 |
int getPropagationBehavior() | 返回事务的传播行为 |
int getTimeout() | 获取超时信息 |
boolean isReadOnly() | 事务是否只读 |
TransactionStatus : 事务的新建,savepoint,销毁等状态
Boolean isNewTreansaction() | 当前事务是否为新事务 |
Boolean hasSavepoint() | 是否存在保存点 |
Void setRollbackOnly() | 是否设置只rollback |
isRollbackOnly() | 是否已经设置了rollback |
Void flush() | 清空保存点 |
Boolean isCompleted() | 事务是否已完成,即是否已提交或回滚 |
Interface PlatformTransactionManager 平台事务管理器
Commit(TransactionStatus ts) | 提交事务 | |
Rollback(TransactionStatus ts) | 回滚事务 | |
TransactionStatus getTransaction(TransactionDefinition definition) |
|
DataSourceTransactionManager 单一数据源的事务管理器对象
Spring下的配置文件
JtaTransactionManager 多数据源下的事务管理器对象
事务源码流程解读:关闭数据库自动提交机制