Spring 事务实现
2019-06-14 本文已影响0人
ryancao_b9b9
一、Spring两类事务管理
1、编程式事务管理
1.1、获取事务管理对象
@Autowired
@Qualifier("oracleTransactionManager")
private PlatformTransactionManagerplatformTransactionManager;
1.2、获取事务定义
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
1.3、设置事务隔离级别,开启新事务
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
1.4、获得事务状态
TransactionStatus status = platformTransactionManager.getTransaction(def);
1.5、提交事务
platformTransactionManager.commit(status);
1.6、回滚事务
platformTransactionManager.rollback(status);
2、声明式事务管理
2.1、开启事务
@EnableTransactionManagement
2.2、申明事务
@Transactional
二、多数据源事务管理配置
1、编程式
@Autowired
@Qualifier("oracleTransactionManager")
private PlatformTransactionManager platformTransactionManager;
2、声明式
@Transactional(
value = "oracleTransactionManager",
rollbackFor = RuntimeException.class,
propagation = Propagation.REQUIRES_NEW
)