這段時間使用springboot搭建基礎框架,作為springboot新手,各種問題都有。
當把前端框架搭建進來時,針對所有controller層的請求,所發生的異常,需要有乙個統一的異常處理,然後返回錯誤頁面。其中方法很多,可以使用***,或者filter,我是使用controlleradvice註解。
package org.lhzhian.base.exception;
import org.springframework.web.bind.annotation.controlleradvice;
import org.springframework.web.bind.annotation.exceptionhandler;
import org.springframework.web.servlet.modelandview;
/**
* 異常統一處理
* @author lhzhian
* @date 2023年4月28日
*/
@controlleradvice
public class globalexceptionhandler
}
定義了全域性異常處理類globalexceptionhandler,當controller層的某個action丟擲異常後,globalexceptionhandler就能捕獲到,把異常交給handle方法處理,該方法用
@exceptionhandler註解,這是controlleradvice配套的註解,如有不明白之處,可以看看官方文件。
完成後,在controller的某個方法,故意丟擲乙個runtimeexception,如int a = 1 / 0; 但是不管怎麼除錯,始終沒有進入handle放開,找了很多資料和官方文件,跟此
處使用的是一樣,一開始以為是配置問題,但是專案是使用springboot的,並不需要什麼配置。後來不知道在哪個部落格看到,定義了之後,要讓spring掃瞄到。於是我就開始
檢查springboot入口的main方法
public static void main(string args) throws exception }
問題就在scanbasepackages = "org.lhzhian",這樣是,spring ioc是掃瞄不到@controlleradvice的,也就根本沒有這個bean,自然也不會進入handle方法,所以為了讓
spring掃瞄到這個bean,我就試了下 scanbasepackages = ,結果果然進入handle了。
總結:@controlleradvice註解的類,需要讓spring掃瞄到。
elementUI rule驗證無效 不起作用
因為專案中遇到複雜的form表單傳輸 具體最終提交格式如下 表單 forminfo 物流資訊 deliveryinfo 開票資訊相關 invoiceflag invoiceinfo 發現所有表單驗證不起作用了 以ordertype為例 頁面 js rules prop和rules裡的校驗名稱是一樣的...
div巢狀引起的margin top不起作用
巢狀div中margin top轉移問題的解決辦法 在這兩個瀏覽器中,有兩個巢狀關係的div,如果外層div的父元素padding值為0,那麼內層div的margin top或者margin bottom的值會 轉移 給外層div。上部層解決辦法 1 在父層div加上 overflow hidden...
mysql表中設定了default不起作用
參考部落格 博主 享受程式設計 博主 sdxushuxun 我平時在設定 時,例如設定成績預設值為0,但我傳入資料發現資料仍然為null 很是不理解 經過參考查詢得出一些小經驗,記錄一下 1 插入表中資料時,傳遞的引數為null或者 都不可以,他們會直接存入資料表中 2 方便的設定預設值是 在對應的...