前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎样确保java代码在抛出异常时都回滚,而不只是运行时异常

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

作者头像
用户1220053
发布2019-05-26 20:10:30
1.6K0
发布2019-05-26 20:10:30
举报
文章被收录于专栏:DT乱“码”DT乱“码”
代码语言:javascript
复制
      /** 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注解。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档