日期:2014-05-18  浏览次数:20864 次

spring事务回滚问题
问题:
Spring的事务管理默认情况下是,抛出运行期异常时,事务是进行回滚的,但是我在异常抛出的service方法里把异常catch住,然后再去测试,就发现事务不进行回滚了,哪位大牛帮忙解答一下呀,呵呵,谢谢。

代码截图如下:

业务代码:


测试代码:
Spring 事务 管理 异常

------解决方案--------------------
引用:
Quote: 引用:

spring事务管理是默认的吗?
我记得得用AOP

汗我描述的不是很清楚,我的意思是,使用注解的方式@Transactionnal时,默认是:抛出运行期异常时,事务是进行回滚的,但是我在异常抛出的service方法里把异常catch住,然后再去测试,就发现事务不进行回滚了。

事务的回滚一般是异常上抛,上抛到spring配置的监听异常的那一级捕获到了异常然后spring进行回滚处理。
你这里catch了异常,那么异常还会上抛么,你可以做个实验试试,看看上层是否会捕获到异常。