结合上篇 Spring 事务(Transaction) 简单描述,Spring事务管理的实现有许多细节,如果对整个接口框架有个大体了解会非常有利于我们理解事务,下面通过讲解Spring的事务接口来了解Spring实现事务的具体策略。
Spring事务管理涉及的接口的联系如下
TransactionDefinition
PlatformTransactionManager
TransactionStatus
事务Spring所有事务代理类都是基于PlatformTransactionManager接口的实现。
此接口是spring的事务管理器,它里面提供了我们常用的操作事务的方法,如下代码片段
我们在开发中都是使用它的实现类,如下:
TransactionDefinition
TransactionDefinition是事务定义接口,该接口注意定义了:事务的传播行为,事务的隔离级别,获得事务信息的方法。所以在配置事务的传播行为,事务的隔离级别已经需要获得事务信息时,可以通过查阅该类的代码获得相关信息
TransactionStatus
上面讲到的调用PlatformTransactionManager接口的getTransaction()的方法得到的是TransactionStatus接口的一个实现,这个接口的内容如下
可以发现这个接口描述的是一些处理事务提供简单的控制事务执行和查询事务状态的方法,在回滚或提交的时候需要应用对应的事务状态