使用Spring MVC統一異常處理實戰

2021-09-02 19:53:14 字數 1356 閱讀 2459

1 描述

在j2ee專案的開發中,不管是對底層的資料庫操作過程,還是業務層的處理過程,還是控制層的處理過程,都不可避免會遇到各種可預知的、不可預知的異常需要處理。每個過程都單獨處理異常,系統的**耦合度高,工作量大且不好統一,維護的工作量也很大。 

那麼,能不能將所有型別的異常處理從各處理過程解耦出來,這樣既保證了相關處理過程的功能較單一,也實現了異常資訊的統一處理和維護?答案是肯定的。下面將介紹使用spring mvc統一處理異常的解決和實現過程。 

2 分析

spring mvc處理異常有3種方式: 

(2)實現spring的異常處理介面handlerexceptionresolver 自定義自己的異常處理器; 

(3)使用@exceptionhandler註解實現異常處理; 

3 實戰

3.1 引言

為了驗證spring mvc的3種異常處理方式的實際效果,我們需要開發乙個測試專案,從dao層、service層、controller層分別丟擲不同的異常,然後分別整合3種方式進行異常處理,從而比較3種方式的優缺點。 

3.2 實戰專案

3.2.2 dao層**

@repository("testdao")  

public class testdao

} }

3.2.3 service層**

public inte***ce testservice   

@service("testservice")

public class testserviceimpl implements testservice

} @override

public void dao(integer id) throws exception

}

3.2.4 controller層**

SpringMVC統一異常處理

errors error prop errors errprop property name statuscodes 500prop 404prop property name warnlogcategory value warn property name defaulterrorview val...

springMVC統一異常處理

restcontrolleradvice basepackages controller包位址 slf4j public class gulimallexceptioncontrolleradvice 異常型別 e.getmessage e.getclass bindingresult bindin...

springMVC統一異常處理

實現spring的異常處理介面handlerexceptionresolver 自定義自己的異常處理器 使用 exceptionhandler註解實現異常處理 springmvc servlet.xml新增 error parameter public class myexceptionresolv...