欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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的配置文件中的,而这些内容的处理需要放在抽象类中去做