spring-transactional(对于异常的回滚策略)

@Transactional 特性
@Transactional注解只能应用到 public 修饰符上,对其他修饰符不起作用,但不报错。
@Transactional 一般加到实现类或实现类方法上,不要加到接口或接口方法上。
@Transactional仅仅对 unchecked 异常进行事务异常回滚;如果是 checked 异常则不进行异常回滚。
unchecked 异常一般为错误或运行时异常
Error:Throwable 的子类。著名的 VirtualMachineError 是 Error 的子类之一,VirtualMachineError 还有 StackOverflowError、OutOfMemoryError 等子类。
RuntimeException:Exception 的子类,而 Exception 同样是 Throwable 的子类。RuntimeException 下面包括 NPE,ClassCastException,ArithmaticException 等异常,这些错误的特点是不用被显式地抛出或捕获,开发者通过仔细检查代码可以避免这些异常。
checked 异常则为编译过程中的异常
其他 Exception:除了 RuntimeException 之外其他的 Exception 的子类,包括 FileNotFoundException,IOException,SQLException 等,这些异常的特点是必须被代码抛出或捕获,否则编译都无法通过。
 

posted @   KLAPT  阅读(102)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2021-09-14 Java虚拟机
点击右上角即可分享
微信分享提示