三个接口
Spring事务管理高层抽象主要包括三个接口,Spring的事务主要是由他们共同完成的:
| PlatformTransactionManager:事务管理器-主要用于平台相关事务的管理
| TransactionDefinition:事务定义信息(隔离、传播、超时、只读)-通过配置如何进行事务管理
| TransactionStatus:事务具体运行状态-事务管理过程中,每个时间点事务的状态信息
PlatformTransactionManager事务管理器
该接口提供三个方法:
commit:提交事务
rollback:事务回滚
getTransaction:获取事务状态
此管理器是个接口,没法直接使用,因此需要使用接口的实现类
Spring为不同的持久化框架提供了不同PlatformTransactionManager接口实现
DataSourceTransactionManager针对JdbcTemplate、MyBatis事务控制,使用Connection(连接)进行事务控制
开启事务:connection.setAutoCommit(false) 此设置是让系统不自动提交
提交事务:connection.commit();
回滚事务:connection.rollback();
TransactionDefinition(事务定义信息)
下图方法对应的意思分别为:
获取对应的隔离级别
获取事务的名称
事务的传播行为:用于解决两个被事务管理的方法互相调用问题
获取超时时间-默认值时1,不超时
是否只读
常见的事务隔离级别
TransactionStatus(事务的状态)