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

為什么說要慎用SpringBoot @ComponentScan

 更新時(shí)間:2021年07月15日 10:05:47   作者:神韻499  
本文主要介紹了為什么說要慎用SpringBoot @ComponentScan,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

場(chǎng)景復(fù)現(xiàn)

為了統(tǒng)一定制一個(gè)過濾器(Filter),所以在另外一個(gè)工程里面創(chuàng)建了一個(gè)過濾器,并通過jar包的方法導(dǎo)入當(dāng)前項(xiàng)目,通過@ComponentScan({"org.example.config"})指定掃描包路徑。

下面的我的啟動(dòng)類

 導(dǎo)入的jar

問題

預(yù)期效果是這樣,正常加載 

啟動(dòng)后,原來的Swagger目錄進(jìn)去是這樣的,原來的Controller全部都沒有被加載進(jìn)來

解密

以為過濾器導(dǎo)致所有路徑?jīng)]有加載,后面百度了解BasicErrorController是在沒有定義SwaggerConfig配置時(shí)默認(rèn)的controller

那我的SwaggerConfig就沒有生效了呀???

水落石出了,SwaggerConfig沒有被加載到容器中,原來是啟動(dòng)類惹的貨,為了加載一個(gè)啟動(dòng)類外的bean-MyFilterBean到容器中導(dǎo)致--啟動(dòng)類配置@ComponentScan({"org.example.config"})

如果啟動(dòng)類不加@ComponentScan注解,那它默認(rèn)是掃描啟動(dòng)類及子包下的類。我這配置不就是改變了最初的功能嗎,真的是基礎(chǔ)不牢地洞山搖~~~

解決方案

1、多加個(gè)@ComponentScan,這樣也掃描啟動(dòng)類及子包下的類了

2、直接將當(dāng)前啟動(dòng)類路徑加入掃描路徑中

3、

在resourecs資源目錄下創(chuàng)建META-INF文件夾,在文件夾中創(chuàng)建spring.factories文件

 文件內(nèi)容:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.example.config.MyFilterBean

啟動(dòng)后發(fā)現(xiàn)MyFilterBean也被加載到bean中了(在調(diào)用api時(shí),通過日記/斷點(diǎn)等驗(yàn)證) 

注:

由于直接在過濾器類上使用@Compont注解注冊(cè)過濾器默認(rèn)會(huì)過濾所有的URL請(qǐng)求生效,上面測(cè)試時(shí)都是為了方便。真實(shí)使用時(shí),為了可以控制特定的URL才觸發(fā)過濾器,我們通過FilterRegistrationBean來注冊(cè)過濾器,過濾的URL模式通過FilterRegistrationBean類的addUrlPatterns方法設(shè)置,如下圖所示:

到此這篇關(guān)于為什么說要慎用SpringBoot @ComponentScan的文章就介紹到這了,更多相關(guān)SpringBoot @ComponentScan 慎用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 用Java實(shí)現(xiàn)聊天程序

    用Java實(shí)現(xiàn)聊天程序

    這篇文章主要為大家詳細(xì)介紹了用Java實(shí)現(xiàn)聊天程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • JDBC連接mysql亂碼異常問題處理總結(jié)

    JDBC連接mysql亂碼異常問題處理總結(jié)

    這篇文章主要介紹了JDBC連接mysql亂碼異常問題處理的辦法和思路,有需要的朋友參考學(xué)習(xí)下。
    2017-12-12
  • springboot項(xiàng)目啟動(dòng)類錯(cuò)誤(找不到或無法加載主類 com.**Application)

    springboot項(xiàng)目啟動(dòng)類錯(cuò)誤(找不到或無法加載主類 com.**Application)

    本文主要介紹了spring-boot項(xiàng)目啟動(dòng)類錯(cuò)誤(找不到或無法加載主類 com.**Application),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • Java文件操作和IO示例詳解

    Java文件操作和IO示例詳解

    這篇文章主要介紹了Java中通過java.io.File類對(duì)文件和目錄進(jìn)行抽象描述,包括創(chuàng)建、刪除、重命名等操作,同時(shí)介紹了文件內(nèi)容的讀寫,需要的朋友可以參考下
    2024-12-12
  • IDEA .iml文件及.idea文件夾超詳細(xì)講解

    IDEA .iml文件及.idea文件夾超詳細(xì)講解

    iml文件是IntelliJ IDEA自己創(chuàng)建的模塊文件,用于java應(yīng)用開發(fā),存儲(chǔ)一些模塊相關(guān)的信息,比如一個(gè)Java組建,插件組建,Maven組建等,這篇文章主要介紹了IDEA .iml文件及.idea文件夾,需要的朋友可以參考下
    2023-09-09
  • springboottest測(cè)試依賴和使用方式

    springboottest測(cè)試依賴和使用方式

    這篇文章主要介紹了springboottest測(cè)試依賴和使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 淺談java 中equals和==的區(qū)別

    淺談java 中equals和==的區(qū)別

    這篇文章主要介紹了java 中equals和==的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java橋接模式實(shí)例詳解【簡(jiǎn)單版與升級(jí)版】

    Java橋接模式實(shí)例詳解【簡(jiǎn)單版與升級(jí)版】

    這篇文章主要介紹了Java橋接模式,結(jié)合實(shí)例形式分析了java橋接模式簡(jiǎn)單版與升級(jí)版兩種實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • java 創(chuàng)建自定義數(shù)組

    java 創(chuàng)建自定義數(shù)組

    本篇文章是關(guān)于java 如何自己創(chuàng)建自定義數(shù)組,這里給大家一個(gè)小實(shí)例,希望能幫助有所需要的同學(xué)
    2016-07-07
  • java String類功能、原理與應(yīng)用案例【統(tǒng)計(jì)、判斷、轉(zhuǎn)換等】

    java String類功能、原理與應(yīng)用案例【統(tǒng)計(jì)、判斷、轉(zhuǎn)換等】

    這篇文章主要介紹了java String類功能、原理與應(yīng)用案例,結(jié)合實(shí)例形式詳細(xì)分析了java String類的基本功能、構(gòu)造方法,以及使用String類實(shí)現(xiàn)統(tǒng)計(jì)、判斷、轉(zhuǎn)換等功能相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03

最新評(píng)論