您的位置:首页 > 编程语言 > Java开发

怎样确保java代码在抛出异常时都回滚,而不只是运行时异常

2018-07-17 16:05 363 查看
/** TransactionAspectSupport手动回滚事务:*/

@Transactional(rollbackFor = { Exception.class })

public boolean test() {

try {

doDbSomeThing();

} catch (Exception e) {

e.printStackTrace();

//使用TransactionAspectSupport确保出现异常以后,事务能回滚

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

return false;

}

return true;

}


编程式事务:就是直接在代码里手动开启事务,手动提交,手动回滚。优点就是可以灵活控制,缺点就是太麻烦了,太多重复的代码了。

声明式事务:就是使用SpringAop配置事务,这种方式大大的简化了编码。需要注意的是切入点表达式一定要写正确。

注解事务:直接在Service层的方法上面加上@Transactional注解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java
相关文章推荐