Posted on 2009-04-08 08:34
landor 閱讀(647)
評論(0) 編輯 收藏 所屬分類:
spring
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,所以不需要我們自
己來處理這些異常,他們會自動拋出,而類似IOException等異常,必須要自己手動的throw拋出異常。
不管是什么異常,要想在view層進行處理的話,都要攔截!