SpringBoot手动开启事务:DataSourceTransactionManager
文章目录DataSourceTransactionManagerDataSourceTransactionManager添加事务:传统JDBC事务管理,使用DataSource从数据源中获取connection通过api进行CRUD,之后手动commit、rollback。应用spring提供的编程式的事务管理使用spring的声明式事务处理Spring的事务处理中,通用的事务处理流程是由抽象事务
·
DataSourceTransactionManager
添加事务:
- 传统JDBC事务管理,使用DataSource从数据源中获取connection
通过api进行CRUD,之后手动commit、rollback。 - 应用spring提供的编程式的事务管理
- 使用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);
}
}
}
更多推荐
所有评论(0)