实际项目中要实现spring的事务大多数我们都是使用 @Transactional(rollbackFor = ) 注解即可,但是有些业务场景需要我们手动处理事务我们就可以这样:
//开启事务
DefaultTransactionDefinition defaultTransactionDefinition = new DefaultTransactionDefinition();
// 嵌套事务
(TransactionDefinition.PROPAGATION_REQUIRED);
// 设置嵌套事务
TransactionStatus status = (defaultTransactionDefinition);
try {
// TODO 处理我们的业务逻辑代码......
// 没有异常便手动提交事务
(status);
} catch (Exception e) {
("save error:", e);
// 有异常便回滚事务
(status);
}