一、概要
Spring框架支持事务管理的核心是事务管理器抽象,对于不同的数据访问框架(JPA,Hibernate)通过实现策略接口PlatformTransactionManager,从而能支持各种数据访问框架的事务管理,Spring提供的最原始的事务管理方式是基于PlatformTransactionManager
、TransactionDefinition
、TransactionStatus
三大核心类
PlatformTransactionManager
说明
事务管理的核心是事务管理器,PlatformTransactionManager的具体实现类来实现,如 DataSourceTransactionManager 、JtaTransactionManager和 HibernateTransactionManager等
核心源码
public interface PlatformTransactionManager {
TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException;
void commit(TransactionStatus status) throws TransactionException;
void rollback(TransactionStatus status) throws TransactionException;
}
方法
方法 | 说明 |
---|---|
getTransaction(): | 返回一个已经激活的事务或创建一个新的事务(根据给定的TransactionDefinition类型参数定义的事务属性),返回的是TransactionStatus对象代表了当前事务的状态,其中该方法抛出TransactionException(未检查异常)表示事务由于某种原因失败。 |
commit(): | 用于提交TransactionStatus参数代表的事务,具体语义请参考Spring Javadoc; |
rollback():。 | 用于回滚TransactionStatus参数代表的事务,具体语义请参考Spring Javadoc |