★学习目标:
理解什么是事务管理的核心接口。
★思考任务:
什么是事务管理的核心接口?
★任务学习:
Spring包含一个名为spring-tx-5.2.8.RELEASE的JAR包,该JAR包是Spring提供的用于事务管理的依赖包。spring-tx-5.2.8.RELEAS依赖包提供了3个接口实现事务管理。
1. PlatformTransactionManager接口
PlatformTransactionManager接口主要用于管理事务。
2. TransactionDefinition接口
TransactionDefinition接口中定义了事务描述相关的常量,其中包括了事务的隔离级别、事务的传播行为、事务的超时时间和是否为只读事务。
1) 事务的隔离级别
事务的隔离级别是指事务之间的隔离程度,TransactionDefinition接口中定义了5种隔离级别。
2) 事务的传播行为
事务的传播行为是指处于不同事务中的方法在相互调用时,方法执行期间,事务的维护情况。TransactionDefinition接口中定义了7种事务传播行为。
3) 事务的超时时间
事务的超时时间是指事务执行的时间界限,超过这个时间界限,事务将会回滚。TransactionDefinition接口提供了TIMEOUT_DEFAULT常量定义事务的超时时间。
4) 事务是否只读
当事务为只读时,该事务不修改任何数据,只读事务有助于提升性能,如果在只读事务中修改数据,会引发异常。
3. TransactionStatus接口
TransactionStatus接口主要用于界定事务的状态,通常情况下,编程式事务中使用该接口较多。

