這是我第一次學習使用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...