欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用@ControllerAdvice同時(shí)配置過(guò)濾多個(gè)包

 更新時(shí)間:2021年06月15日 14:59:38   作者:abckingaa  
這篇文章主要介紹了使用@ControllerAdvice同時(shí)配置過(guò)濾多個(gè)包的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@ControllerAdvice同時(shí)配置過(guò)濾多個(gè)包

看代碼吧~

//@ControllerAdvice("com.automvc")   //配置過(guò)濾一個(gè)的時(shí)候
@ControllerAdvice(basePackages={"com.automvc", "com.test"})    //同時(shí)配置過(guò)濾多個(gè)包

springboot 多個(gè)@RestControllerAdvice時(shí)的攔截順序

我們的項(xiàng)目中經(jīng)常會(huì)使用到別人的模塊,例如我的項(xiàng)目demo,要依賴別人的A模塊,以及基礎(chǔ)的核心core模塊,此時(shí)core模塊有一個(gè)使用了@RestControllerAdvice的類,負(fù)責(zé)攔截所有的controller異常。

但是呢,他的異常處理不符合我們demo項(xiàng)目的要求,這就導(dǎo)致我們demo項(xiàng)目要重寫(xiě)自己的controller異常攔截。

此時(shí)我們可以用的解決異常的方法有三種:

1、使用aop進(jìn)行切面攔截異常

2、controller每個(gè)方法都用try-catch捕獲異常

3、增加一個(gè)@RestControllerAdvice標(biāo)注的類,負(fù)責(zé)處理我們項(xiàng)目的controller異常。

我選用第三種方法,但是當(dāng)我寫(xiě)了個(gè)PartControllerAdvice類,指定basePackages為我自己的項(xiàng)目包,依舊還是被core模塊的全局異常處理類攔截了。

查資料和找博客發(fā)現(xiàn)如果有多個(gè)加了@RestControllerAdvice的類,他們會(huì)依次加載,遇到異常時(shí),按照類加載順序進(jìn)行判斷,如果前面的類有能處理這個(gè)異常的方法,就給前面的類處理。

我的項(xiàng)目中有兩個(gè)標(biāo)注了@RestControllerAdvice的類,core模塊的類被先加載,且core模塊的異常處理類有個(gè)方法專門(mén)處理Exception類型的異常,所以我的局部異常處理類始終不執(zhí)行。

解決方法:

@Order(Ordered.HIGHEST_PRECEDENCE) 使用@Order注解,提高自己的局部異常處理類的加載順序就行了

代碼:

模擬效果:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java對(duì)象初始化順序的使用

    Java對(duì)象初始化順序的使用

    本篇文章介紹了,Java對(duì)象初始化順序的使用。需要的朋友參考下
    2013-04-04
  • Java中的集合ArrayList類常用方法和遍歷

    Java中的集合ArrayList類常用方法和遍歷

    這篇文章主要介紹了Java中的集合ArrayList類常用方法和遍歷,ArrayList 是大小可變的數(shù)組的實(shí)現(xiàn),存儲(chǔ)在內(nèi)的數(shù)據(jù)稱為元素,此類提供一些方法來(lái)操作內(nèi)部存儲(chǔ)的元素, ArrayList中可不斷添加元素,其大小也自動(dòng)增長(zhǎng),需要的朋友可以參考下
    2024-01-01
  • java實(shí)現(xiàn)excel和txt文件互轉(zhuǎn)

    java實(shí)現(xiàn)excel和txt文件互轉(zhuǎn)

    本篇文章主要介紹了java實(shí)現(xiàn)excel和txt文件互轉(zhuǎn)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-04-04
  • Java 反射機(jī)制的實(shí)例詳解

    Java 反射機(jī)制的實(shí)例詳解

    這篇文章主要介紹了Java 反射機(jī)制的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解掌握反射機(jī)制,需要的朋友可以參考下
    2017-10-10
  • 分析Java中為什么String不可變

    分析Java中為什么String不可變

    Java中為什么String是不可變性的。今天我們從多角度解析為什么Java把String做成不可變的。
    2021-06-06
  • 幾道java循環(huán)練習(xí)題(適合新人)

    幾道java循環(huán)練習(xí)題(適合新人)

    這篇文章主要給大家介紹了幾道java循環(huán)練習(xí)題,非常適合剛?cè)腴T(mén)的java新人,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 使用Spring Data Jpa的CriteriaQuery一個(gè)陷阱

    使用Spring Data Jpa的CriteriaQuery一個(gè)陷阱

    使用Spring Data Jpa的CriteriaQuery進(jìn)行動(dòng)態(tài)條件查詢時(shí),可能會(huì)遇到一個(gè)陷阱,當(dāng)條件為空時(shí),查詢不到任何結(jié)果,并不是期望的返回所有結(jié)果。這是為什么呢?
    2020-11-11
  • java多線程并發(fā)executorservice(任務(wù)調(diào)度)類

    java多線程并發(fā)executorservice(任務(wù)調(diào)度)類

    這篇文章主要介紹了線程并發(fā)ScheduledExecutorService類,設(shè)置 ScheduledExecutorService ,2秒后,在 1 分鐘內(nèi)每 10 秒鐘蜂鳴一次
    2014-01-01
  • Java協(xié)程編程之Loom項(xiàng)目實(shí)戰(zhàn)記錄

    Java協(xié)程編程之Loom項(xiàng)目實(shí)戰(zhàn)記錄

    這篇文章主要介紹了Java協(xié)程編程之Loom項(xiàng)目嘗鮮,如果用嘗鮮的角度去使用Loom項(xiàng)目,可以提前窺探JVM開(kāi)發(fā)者們是如何基于協(xié)程這個(gè)重大特性進(jìn)行開(kāi)發(fā)的,這對(duì)于提高學(xué)習(xí)JDK內(nèi)核代碼的興趣有不少幫助,需要的朋友可以參考下
    2021-08-08
  • Java線程池?ThreadPoolExecutor?詳解

    Java線程池?ThreadPoolExecutor?詳解

    這篇文章主要介紹了Java線程池?ThreadPoolExecutor,線程池包括線程集合、阻塞隊(duì)列、拒絕策略處理器,更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-07-07

最新評(píng)論