美文网首页
Spring事务与回滚原理(异常篇)

Spring事务与回滚原理(异常篇)

作者: wyatt_plus | 来源:发表于2017-11-24 14:11 被阅读0次

checked异常和unchecked异常

这里之所以让大家清楚checked异常和unchecked异常概念,是因为:
Spring使用声明式事务处理,默认情况下,如果被注解的数据库操作方法中发生了unchecked异常,所有的数据库操作将rollback;如果发生的异常是checked异常,默认情况下数据库操作还是会提交的。

checked异常:

表示无效,不是程序中可以预测的。比如无效的用户输入,文件不存在,网络或者数据库链接错误。这些都是外在的原因,都不是程序内部可以控制的。
必须在代码中显式地处理。比如try-catch块处理,或者给所在的方法加上throws说明,将异常抛到调用栈的上一层。
继承自java.lang.Exceptionjava.lang.RuntimeException除外)。

unchecked异常:

表示错误,程序的逻辑错误。是RuntimeException的子类,比如IllegalArgumentException, NullPointerExceptionIllegalStateException
不需要在代码中显式地捕获unchecked异常做处理。
继承自java.lang.RuntimeException(而java.lang.RuntimeException继承自java.lang.Exception)。

异常结构图

异常结构图

相关文章

  • 二十、spring事务之回滚事务

    Spring事务信息准备好后,如果我们的程序出现了异常,又会如何回滚事务呢?这节我们分析Spring事务回滚原理。...

  • Spring事务与回滚原理(异常篇)

    checked异常和unchecked异常 这里之所以让大家清楚checked异常和unchecked异常概念,是...

  • Spring学习笔记(五)-事务的管理

    1.Spring的事务提交回滚 (1).运行期抛出的异常,spring会将事务回滚也就是(uncheck的异常) ...

  • try catch对Spring事务的影响

    一、Spring 的默认事务机制,当出现unchecked异常时候回滚,checked异常的时候不会回滚。 异常中...

  • spring事务

    spring的默认事务机制,当出现unchecked异常时候回滚,checked异常的时候不会回滚; 异常中unc...

  • try catch影响Spring事务吗?

    一、Spring 的默认事务机制,当出现unchecked异常时候回滚,checked异常的时候不会回滚。异常中u...

  • SpringBoot事务回滚问题

    SpringBoot事务不回滚问题 Spring声明式事务管理默认对 非检查型异常 或 运行时异常 进行事务回滚,...

  • Spring事务

    先说结论:Spring事务异常回滚,捕获异常不抛出就不会回滚。最近遇到了事务不回滚的情况,我还考虑说JPA的事务有...

  • spring事务失效的几种场景及原因

    1. 抛出检查异常导致事务不能正确回滚 原因:spring默认只会回滚非检查异常解法:配置rollbackFor属...

  • springboot事务回滚

    默认spring事务只在发生未被捕获的 runtimeExcetpion时才回滚。 spring aop异常捕获...

网友评论

      本文标题:Spring事务与回滚原理(异常篇)

      本文链接:https://www.haomeiwen.com/subject/jroxbxtx.html