文章目录
-
- [spring 是如何开启事务的](#spring 是如何开启事务的)
-
- 核心原理
- [1 基于注解开启事务](#1 基于注解开启事务)
- [2 基于代码来开启事务](#2 基于代码来开启事务)
spring 是如何开启事务的
核心原理
Spring事务管理的实现有许多细节,如果对整个接口框架有个大体了解会非常有利于我们理解事务,下面通过讲解Spring的事务接口来了解Spring实现事务的具体策略。
Spring事务管理涉及的接口的联系如下:
spring开启事务有两种:
1 基于注解开启事务
只需要在方法头上加一个注解@Transactional即可:
2 基于代码来开启事务
在需要开启事务的方法中,输入以下代码即可:
java
@Autowired
private PlatformTransactionManager txManager;
// 开启事务管理
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = txManager.getTransaction(def);
try {
//操作都放在这里
}catch(Exception e){
//这里是异常处理
}
txManager.commit(status);//事务提交