springBoot事务的基本使用

单机系统基本注解事务(@Transactional)的使用:
情况1:运行时异常,触发回滚。
@Transactional
public String addUser() throws FileNotFoundException{
userInfoService.addUser(user);
System.out.println(1/0);
}
情况2:非运行时异常,因为rollbackFor默认是:runtimeException, 不触发回滚
@Transactional
public String addUser() throws FileNotFoundException{
userInfoService.addUser(user);
File fl=new File("/dddd");
}
情况3:非运行时异常,指定rollbackFor,发生回滚
@Transactional(rollbackFor = Exception.class)
public String addUser() throws FileNotFoundException{
userInfoService.addUser(user);
File fl=new File("/dddd");
}
情况4:不指定rollbackFor,但使用编程在发生异常时回滚,一般用于切面编程
@Transactional
public String addUser() {
userInfoService.addUser(user);
File fl=new File("/dddd");
try {
FileInputStream fs=new FileInputStream(fl);
} catch (FileNotFoundException e) {
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
}

posted @   Logan_626  阅读(157)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示