spring手动控制事务

时间:2025-04-27 21:46:32

实际项目中要实现spring的事务大多数我们都是使用 @Transactional(rollbackFor = ) 注解即可,但是有些业务场景需要我们手动处理事务我们就可以这样:

//开启事务
DefaultTransactionDefinition defaultTransactionDefinition = new DefaultTransactionDefinition();
// 嵌套事务
(TransactionDefinition.PROPAGATION_REQUIRED);
// 设置嵌套事务
TransactionStatus status = (defaultTransactionDefinition);

try {
	// TODO 处理我们的业务逻辑代码......

	// 没有异常便手动提交事务
	(status);
} catch (Exception e) {
	("save error:", e);
	// 有异常便回滚事务
	(status);
}