当前位置:
文章详情

Spring Boot 事物回滚

2021-07-21 13:05:55 0点赞 0收藏 0评论

Springboot中事务的使用:

1、启动类加上EnableTransactionManagement注解,开启事务支持(其实默认是开启的)。

2、在使用事务的public(只有public支持事务)方法(或者类-相当于该类的所有public方法都使用)加上Transactional注解。

在实际使用中一般是在service中使用ransactional,那么对于controller->service流程中:

如果controller未开启事务,service中开始了事务,service成功执行,controller在之后的运行中出现异常(错误),不会自动回滚。

也就是说,只有在开启事务的方法中出现异常(默认只有非检测性异常才生效-RuntimeException )(错误-Error)才会自动回滚。

Spring Boot 事物回滚

文章图片来源:页游http://www.coubai.com/ 页游

如果想要对抛出的任何异常都进行自动回滚(而不是只针对RuntimeException),只需要在使用Transactional(rollbackFor = Exception.class)即可。

开启事务的方法中事务回滚的情况:

①未发现的异常,程序运行过程中自动抛出http://www.coubai.comRuntimeException或者其子类,程序终止,自动回滚。

②使用TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();进行手动回滚。

③注意:如果在try-catch语句中对可能出现的异常(RuntimeException)进行了处理,没有再手动throw异常,spring认为该方法成功执行,不会进行回滚,此时需要调用②中方法进行手动回滚 (java 框架项目案例:fhadmin.cn)

另外,如果try-catch语句在finally中进行了return操作,那么catch中手动抛出的异常页游也会被覆盖,同样不会自动回滚。

//不会自动回滚

try{

throw new RuntimeException();

}catch(RuntimeException e){

e.printStackTrace();

}finally{

}

//会自动回滚

try{

throw new RuntimeException();

}catch(RuntimeException e){

e.printStackTrace();

throw new RuntimeException();

}finally{

}


展开 收起

Apple 苹果 iPhone 11 4G手机

Apple 苹果 iPhone 11 4G手机

3899元起

Apple 苹果 iPhone XR 4G手机

Apple 苹果 iPhone XR 4G手机

3858元起

Apple 苹果 iPhone X 4G手机

Apple 苹果 iPhone X 4G手机

4099元起

Logitech 罗技 G502 有线鼠标 黑色 12000DPI

Logitech 罗技 G502 有线鼠标 黑色 12000DPI

159元起

Apple 苹果 iPhone XS Max 4G手机

Apple 苹果 iPhone XS Max 4G手机

3637.64元起

MI 小米 10 5G手机

MI 小米 10 5G手机

2599元起

Apple 苹果 iPhone 12系列 A2404国行版 手机

Apple 苹果 iPhone 12系列 A2404国行版 手机

5199元起

Apple 苹果 iPhone 8 Plus 4G手机

Apple 苹果 iPhone 8 Plus 4G手机

3099元起

Redmi 红米 K30 Pro 5G手机

Redmi 红米 K30 Pro 5G手机

2499元起

MI 小米 AX3600 双频3000M 千兆家用无线路由器 Wi-Fi 6 单个装 黑色

MI 小米 AX3600 双频3000M 千兆家用无线路由器 Wi-Fi 6 单个装 黑色

468元起

HUAWEI 华为 Mate 20 Pro 4G手机

HUAWEI 华为 Mate 20 Pro 4G手机

3158元起

Apple 苹果 iPad 2018款 9.7英寸 平板电脑

Apple 苹果 iPad 2018款 9.7英寸 平板电脑

2158元起

MI 小米 MIX 2S 4G手机

MI 小米 MIX 2S 4G手机

1589元起

Redmi 红米 K30 5G手机

Redmi 红米 K30 5G手机

1398元起

Apple 苹果 MK0C2CH 手写笔

Apple 苹果 MK0C2CH 手写笔

619元起

MI 小米 9 4G手机

MI 小米 9 4G手机

2299元起
0评论

发表评论请 登录
评论举报

请选择举报理由

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
相关好价
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松