SpringBoot手动开启事务:DataSourceTransactionManager

文章目录

  • DataSourceTransactionManager

DataSourceTransactionManager

添加事务:

  1. 传统JDBC事务管理,使用DataSource从数据源中获取connection
    通过api进行CRUD,之后手动commit、rollback。
  2. 应用spring提供的编程式的事务管理
  3. 使用spring的声明式事务处理

Spring的事务处理中,通用的事务处理流程是由抽象事务管理器AbstractPlatformTransactionManager来提供的,而具体的底层事务处理实现,由PlatformTransactionManager的具体实现类来实现,如 DataSourceTransactionManager 、JtaTransactionManager和 HibernateTransactionManager等。

SpringBoot中手动开启事务常用代码

@Controller
public class TransactionDemo {

    @Autowired
    private DataSourceTransactionManager transactionManager;

    @RequestMapping("test")
    public void test(){
        //可做单例
        DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
        definition.setPropagationBehaviorName("PROPAGATION_REQUIRED");
        TransactionStatus transaction = transactionManager.getTransaction(definition);

//        TransactionStatus transaction = transactionManager.getTransaction(TransactionDefinition.withDefaults());
        try {
            //do something
            transactionManager.commit(transaction);
        }catch (Exception e){
            //do error
            transactionManager.rollback(transaction);
        }
    }
}

你可能感兴趣的:(Java实例,ajax,javascript,前端)