使用springboot的全域性異常處理機制

2021-09-02 19:39:44 字數 1121 閱讀 5328

這是我第一次學習使用spring boot全域性異常處理機制,分享一點兒經驗給大家

@controlleradvice

public class globalexceptionhandler else

// 輸出異常的堆疊資訊

exception.printstacktrace();

// 構造錯誤返回值

string collecionresult = restfultool.buildcollection(new errorinfo("", "00", commonresult.getmessage()),

request.getrequesturi());

// 使用response返回

response.setstatus(httpstatus.internal_server_error.value()); // 設定狀態碼

response.setcharacterencoding("utf-8"); // 避免亂碼

問題:無法載入到異常處理類

網上有文章說:必須使用自定義異常,否則無法捕獲,於是建立乙個myexception類 繼承runtimeexception類,無果。

找了半天,在一篇文章中得到啟發-----springboot載入@controlleradvice註解修飾的類,才能處理被註解@exceptionhandler修飾方法的異常!

由於我的全域性異常處理類在common專案中(jar),而controller在api專案中,所以springboot掃瞄機制無法載入異常處理類,所以不生效,修改包結構,解決此問題

Springboot 使用AOP及全域性事件

aop為aspect oriented programming的縮寫,意為 面向切面程式設計,通過預編譯方式和執行期間動態 實現程式功能的統一維護的一種技術。aop是oop的延續,是軟體開發中的乙個熱點,也是spring框架中的乙個重要內容,是函式式程式設計的一種衍生范型。利用aop可以對業務邏輯的...

全域性異常處理 springBoot 全域性異常處理

先讚後看,月入百萬 springboot開發的web專案中,強調分層的概念,乙個完整的專案一般會劃分出controller層和service層。因此,為了 的可維護性,controller層 應該盡量簡潔,驗證一下引數,直接丟給service層處理即可 異常處理的方式無外乎兩種 在springboo...

springboot全域性異常捕獲

新專案中需要用到檔案上傳,有需要對上傳檔案大小進行限制,當檔案超過限制的時候,springboot框架會直接丟擲異常,不會進入你的方法中,當我們需要向前臺返回資訊的時候也無從返回,只能進行全域性捕獲檔案過大的異常,然後再返回資訊。controlleradvice public class mycon...