springboot統一異常處理

2022-02-09 03:33:16 字數 889 閱讀 5651

由於專案是前後端完全分離的 所以返回的是 json 不是頁面

先來說下 spring是預設只回滾runtimeexception 其他的異常你可以根據專案需要自己定義

還有你如果try catch了的話 你如果也在catch裡面拋了這個異常  還是不能回滾的 

只要你try catch就不能回滾 這一點切記

所以盡量少使用try catch

接下來說統一異常處理 直接上**

@restcontrolleradvice  這個註解是@controlleradvice和@responsebody(自動繫結json)的結合 可以直接看原始碼 

@exceptionhandler統一處理某一類異常,從而能夠減少**重複率和複雜度

之後你就可以在errhandle寫你的業務邏輯了

其實我覺得restcontrolleradvice這個註解應該是利用了aop 當你controller異常的時候這個註解會直接捕獲到 

當然用的前提就是要在你的service上加上

@transactional(rollbackfor=exception.class)

這個註解 這樣spring才能捕獲到

@restcontrolleradvice  這個註解還可以配置自動掃瞄那個包

可以配置屬性來掃瞄自己想掃瞄的包   其他的屬性可以看原始碼就可以看出來

Spring Boot學習筆記8 統一異常處理

雖然,spring boot中實現了預設的error對映,但是在實際應用中,預設的錯誤頁面對使用者來說並不夠友好,我們通常需要去實現我們自己的異常提示。下面我們以之前的spring bootx學習筆記7 使用thymeleaf模板引擎渲染web檢視為基礎,進行統一異常處理的改造。public cla...

spring boot統一異常處理

1 統一處理異常的html頁面。spring boot提供了乙個預設的對映 error,當處理中丟擲異常之後,會轉到該請求中處理,並且該請求有乙個預設的錯誤頁面用來展示異常內容。例如,我們隨便輸入乙個錯誤的url,瀏覽器響應的頁面如下圖所示 它是根據狀態碼來顯示錯誤頁面的,那麼我們不想要 sprin...

SpringBoot 統一異常處理

統一異常處理 controlleradvice public class globalexceptionhandler exceptionhandler exception.class responsebody public r handleexception exception e 現在網上一般都...