spring預設事務異常處理

2021-08-19 09:53:39 字數 903 閱讀 9665

spring宣告式事務管理預設對非檢查型異常和執行時異常進行事務回滾,而對檢查型異常則不進行回滾操作。

那麼什麼是檢查型異常什麼又是非檢查型異常呢? 

1、繼承自runtimeexception或error的是非檢查型異常

2、繼承自exception的則是檢查型異常(runtimeexception本身也是exception的子類)

對非檢查型類異常可以不用捕獲,而檢查型異常則必須用try語句塊進行處理或者把異常交給上級方法處理。

針對檢查異常,可以通過transactionaspectsupport.currenttransactionstatus().setrollbackonly();語句,手動回滾

常見的runtimeexception

1、nullpointerexception:一般都是在null物件上呼叫方法了。

2、numberformatexception:繼承illegalargumentexception(非法引數),字串轉換為數字時出現。

3、arrayindexoutofbound***ception:陣列越界。

4、stringindexoutofbound***ception:字串越界。比如 string s="hello"; char c=s.chatat(6);

5、classcastexception:型別轉換錯誤。比如 object obj=new object(); string s=(string)obj;

6、unsupportedoperationexception:該操作不被支援。有可能子類中不想支援父類中有的方法,可以直接丟擲

7、arithmeticexception:算術錯誤,典型的就是0作為除數的時候。

Spring事務 異常

spring事務 異常 spring的事務實現採用基於aop的 來實現,如果沒有在事務配置的時候註明回滾的checked exception,那麼只有在發生了unchecked exception的時候,才會進行事務回滾。因此在dao層和service層,最好丟擲unckecked exceptio...

mysql oracle預設事務隔離級別的說明

1 原子性 atomicity 事務中所涉及的程式對資料庫的修改操作要麼全部成功,要麼全部失敗。2 一致性 consistency 事務執行前和執行後 和去向保持平衡。3 隔離性 isolatcrzolion 併發時每個事務是隔離的,相互不影響。4 永續性 durubility 一旦事務成功提交,應...

Spring 異常處理

今天在做專案的時候突然發現異常處理還有所欠缺,所有打算好好的加強一下異常的處理,順便好好鞏固以前學習的知識和增加新的知識。實現spring介面 handlerexceptionresolver public class exceptionresolver implements handlerexce...