1.Spring事务管理API结构
Spring事务管理API有100个左右,其中最核心的API有3个,分别是TransactionDefinition、 PlatformTransactionManager、TransactionStatus。TransactionDefinition定义事务管理五个属性,PlatformTransactionManager执行具体的事务,TransactionStatus提供控制事务执行和查询事务状态的方法。Spring事务管理主要API结构如下
2.三个核心API接口源码解析
TransactionDefinition接口是用于定义一个事务,它定义了Spring事务管理的五大属性,在上一篇文章中有详细介绍。Spring提供了一个该接口的默认实现类DefaultTransactionDefinition,该类可用于大多数属于管理情况。如果该类不能满足需求,可以通过实现TransactionDefinition接口来定义自己的事务实现。TransactionDefinition接口源码如下:
public interface TransactionDefinition {
int PROPAGATION_REQUIRED = 0;
int PROPAGATION_SUPPORTS = 1;
int PROPAGATION_MANDATORY = 2;
int PROPAGATION_REQUIRES_NEW = 3;