Spring的事务管理器
程序员文章站
2022-07-05 18:10:21
...
说明:
1、在AbstractFlatformTransactionManager中commit方法中
(1)如果有异常要回滚,使用processRollback()方法;具体处理回滚的信息要交给具体的事务管理器
HibernateTransactionManager
DataSourceTransactionManager
JdoTransactionManager
(2)如果没有异常则提交,使用processCommit()方法;具体处理提交的信息要交给具体的事务管理器
HibernateTransactionManager
DataSourceTransactionManager
JdoTransactionManager
2、在AbstractFlatformTransactionManager中的doGetTransaction方法是一个抽象方法,具体的事务管理器实现该方法得到具体的事务对象
public class PersonService{
private PlatformTransactionManager platformTransactionManager;
private SessionFactory sessionFactory;
//setter方法
public void setPlatformTransactionManager(PlatformTransactionManager platformTransactionManager){
this.platformTransactionManager=platformTransactionManager;
}
public void xxx(){
//得到事务
// 事务回滚
//事务提交
}
}
spring在调用具体的事务管理器之前做了一些准备工作,提前设置了事务的读写策略,而这些事务策略是公共的东西,是写在spring的配置文件中的,而这些内容的处理需要放在抽象类中去做