spring的异常机制的简单理解
2008-12-18 08:50
239 查看
spring默认的是出现运行时异常(RuntimeException)及其子类的时候回滚,其他类不回滚
可以自定义哪些异常回滚,如果是声明式事务可以用rollback-for来进行配置,例如文件操作会抛出IOException 那么可以这么配置
<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="update*" no-rollback-for="IOException"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
意思是
a 运行时异常(RuntimeException)及其子类的时候回滚
b IOException时候回滚
也就是说a是必须回滚的,b是自定义回滚的异常
如
果事务失败了,spring会抛出异常,spring一般的情况下是把一些底层异常都封装成了一个RuntimeException的子异常DataAccessException,所以不需要我们自己
来处理这些异常,他们会自动抛出,然而类似发生IOException等异常,必须要自己手动的try、catch或者throw抛出异常,进行拦截处理。
不管是什么异常,要想在view层进行统一处理的话,都要拦截。
可以自定义哪些异常回滚,如果是声明式事务可以用rollback-for来进行配置,例如文件操作会抛出IOException 那么可以这么配置
<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="update*" no-rollback-for="IOException"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
意思是
a 运行时异常(RuntimeException)及其子类的时候回滚
b IOException时候回滚
也就是说a是必须回滚的,b是自定义回滚的异常
如
果事务失败了,spring会抛出异常,spring一般的情况下是把一些底层异常都封装成了一个RuntimeException的子异常DataAccessException,所以不需要我们自己
来处理这些异常,他们会自动抛出,然而类似发生IOException等异常,必须要自己手动的try、catch或者throw抛出异常,进行拦截处理。
不管是什么异常,要想在view层进行统一处理的话,都要拦截。
相关文章推荐
- Java中的异常处理机制的简单原理和应用以及连接池理解
- spring事务隔离和传播机制的简单理解
- Java中的异常处理机制的简单原理和应用
- 深入理解Java异常处理机制
- 43 java中的异常处理机制的简单原理和应用
- 深入理解java异常处理机制
- 深入理解java异常处理机制(用于自学)
- 深入理解Java异常处理机制
- 深入理解java异常处理机制
- 理解java异常机制
- 深入理解java异常处理机制
- 深入理解java异常处理机制
- 深入理解java异常处理机制
- 理解Spring的AOP和Ioc/DI就这么简单
- 深入理解java异常处理机制
- 关于java异常处理机制的深入理解
- 深入理解java异常处理机制的原理和开发应用
- spring 异常管理机制
- CheckedException和unCheckedException理解及Spring 统一异常处理和封装
- Java中的异常处理机制的简单原理和应用