久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

為什么說要慎用SpringBoot @ComponentScan

瀏覽:93日期:2023-02-25 11:04:45
目錄場景復現解密解決方案場景復現

為了統一定制一個過濾器(Filter),所以在另外一個工程里面創建了一個過濾器,并通過jar包的方法導入當前項目,通過@ComponentScan({'org.example.config'})指定掃描包路徑。

下面的我的啟動類

為什么說要慎用SpringBoot @ComponentScan

導入的jar

為什么說要慎用SpringBoot @ComponentScan

問題

預期效果是這樣,正常加載

為什么說要慎用SpringBoot @ComponentScan

啟動后,原來的Swagger目錄進去是這樣的,原來的Controller全部都沒有被加載進來

為什么說要慎用SpringBoot @ComponentScan

解密

以為過濾器導致所有路徑沒有加載,后面百度了解BasicErrorController是在沒有定義SwaggerConfig配置時默認的controller

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

為什么說要慎用SpringBoot @ComponentScan

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

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

解決方案

1、多加個@ComponentScan,這樣也掃描啟動類及子包下的類了

為什么說要慎用SpringBoot @ComponentScan

2、直接將當前啟動類路徑加入掃描路徑中

為什么說要慎用SpringBoot @ComponentScan3、

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

為什么說要慎用SpringBoot @ComponentScan

文件內容:

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

啟動后發現MyFilterBean也被加載到bean中了(在調用api時,通過日記/斷點等驗證)

注:

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

為什么說要慎用SpringBoot @ComponentScan

到此這篇關于為什么說要慎用SpringBoot @ComponentScan的文章就介紹到這了,更多相關SpringBoot @ComponentScan 慎用內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 91精品国产综合久久福利软件 | 国产精品一区二区无线 | 91新视频| 国产精品高清在线 | 国产a免费| 古典武侠第一页久久777 | 中文字幕一二区 | 99国产视频 | 精品国产一区二区三区久久 | 国产视频一二三区 | 成人欧美一区二区三区在线播放 | 久久夜夜| 美女黄网| 狠狠操夜夜操天天操 | 91视频免费在线看 | 亚洲www视频| 欧美成年网站 | 91综合网 | 天堂亚洲| 日韩成人国产 | 毛片一区二区 | av三级在线免费观看 | 亚洲三级视频 | 日韩一区二区影视 | 一本大道综合伊人精品热热 | 国产一区二区三区久久久 | 狠狠操综合网 | 国产成人在线一区二区 | www.国产 | 亚洲国产精品久久 | 一级a毛片 | 亚洲嫩草 | 国产成人免费视频 | 欧美三级视频在线播放 | 成人一区二区在线 | 午夜精品亚洲日日做天天做 | 亚洲一区视频在线 | 国产福利一区二区三区四区 | 日韩拍拍 | 99re热精品视频国产免费 | 综合久久亚洲 |