spring的异常机制的简单理解

spring默认的是出现运行时异常(RuntimeException)及其子类的时候回滚,其他类不回滚
可以自定义哪些异常回滚,如果是声明式事务可以用rollback-for来进行配置,例如文件操作会抛出IOException 那么可以这么配置
  1. <tx:advice id="txAdvice">
  2.   <tx:attributes>
  3.   <tx:method name="update*" no-rollback-for="IOException"/>
  4.   <tx:method name="*"/>
  5.   </tx:attributes>
  6. </tx:advice>
意思是
a 运行时异常(RuntimeException)及其子类的时候回滚
b IOException时候回滚
也就是说a是必须回滚的,b是自定义回滚的异常
如 果事务失败了,spring会抛出异常,spring一般的情况下是把一些底层异常都封装成了一个RuntimeException的子异常DataAccessException,所以不需要我们自己 来处理这些异常,他们会自动抛出,然而类似发生IOException等异常,必须要自己手动的try、catch或者throw抛出异常,进行拦截处理。 不管是什么异常,要想在view层进行统一处理的话,都要拦截 。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值