再说下声明式事务和注解事务回滚的原理:当被切面切中或者是加了注解的方法中抛出了RuntimeException异常时,Spring会进行事务回滚。默认情况下是捕获到方法的RuntimeException异常,也就是说抛出只要属于运行时的异常(即RuntimeException及其子类)都能回滚;但当抛出一个不属于运行时异常时,事务是不会回滚的。
下面说几点保证事务能回滚的方法:
① 声明式事务,在配置里面添加一个rollback-for,代码如下
<tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
② 注解事务,直接在注解上面指定,代码如下
@Transactional(rollbackFor=Exception.class)
本文深入探讨了声明式事务和注解事务的回滚原理,解释了在Spring框架下,如何通过配置rollback-for属性来确保特定类型的异常触发事务回滚。文章提供了具体的配置示例,帮助读者理解并掌握事务管理的关键技巧。
2864

被折叠的 条评论
为什么被折叠?



