Spring事务管理机制一

三个接口

Spring事务管理高层抽象主要包括三个接口,Spring的事务主要是由他们共同完成的:
| PlatformTransactionManager:事务管理器-主要用于平台相关事务的管理
| TransactionDefinition:事务定义信息(隔离、传播、超时、只读)-通过配置如何进行事务管理
| TransactionStatus:事务具体运行状态-事务管理过程中,每个时间点事务的状态信息

PlatformTransactionManager事务管理器

该接口提供三个方法:
commit:提交事务
rollback:事务回滚
getTransaction:获取事务状态
此管理器是个接口,没法直接使用,因此需要使用接口的实现类
Spring为不同的持久化框架提供了不同PlatformTransactionManager接口实现

Spring事务管理机制一_第1张图片

DataSourceTransactionManager针对JdbcTemplate、MyBatis事务控制,使用Connection(连接)进行事务控制
开启事务:connection.setAutoCommit(false)   此设置是让系统不自动提交
提交事务:connection.commit();
回滚事务:connection.rollback();

TransactionDefinition(事务定义信息)

下图方法对应的意思分别为:
获取对应的隔离级别
获取事务的名称
事务的传播行为:用于解决两个被事务管理的方法互相调用问题
获取超时时间-默认值时1,不超时
是否只读

Spring事务管理机制一_第2张图片
Spring事务管理机制一_第3张图片

Spring事务管理机制一_第4张图片

常见的事务隔离级别

Spring事务管理机制一_第5张图片
Spring事务管理机制一_第6张图片

TransactionStatus(事务的状态)

Spring事务管理机制一_第7张图片
Spring事务管理机制一_第8张图片

三个接口之间的关系

Spring事务管理机制一_第9张图片

你可能感兴趣的:(乐在其中)