SpringBoot Application的exclude不生效問題及排查
SpringBootApplication的exclude不生效問題排查
背景
在ManApplication
上添加了SpringBootApplication
中配置了
exclude={org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration.class}
但是在啟動(dòng)過程了ElasticsearchAutoConfiguration
還是加載了,使用配置文件的方式就可以避免加載。
排查
首先懷疑是不是啟動(dòng)的類加載了ElasticsearchAutoConfiguration
的初始化方法,查找無果。
于是想通過SpringBootApplication的啟動(dòng)過程來排查。
SpringBootApplication的啟動(dòng)入口是SpringApplication.run()
方法。
調(diào)用時(shí)序圖
可以參考以下:
在debug的過程中發(fā)現(xiàn)還有其他的@EnableAutoConfiguration
注解,更直白的說是jar包存在類中@SpringBootApplication
沒有exclude.
從EnableAutoConfigurationImportSelector
類可以看到getExclusions
的邏輯正好解釋了這一現(xiàn)象。
另外從注解可以直接達(dá)到,以后有關(guān)@…AutoConfiguration的應(yīng)該找注解上的@Import
注解中的解析類,可以直達(dá)解析邏輯。
結(jié)論
1.使用配置的方式進(jìn)行exclude
2.推動(dòng)包含@EnableAutoConfiguration
的去掉,因?yàn)閖ar包內(nèi)不應(yīng)該有。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- SpringBoot中的ApplicationListener事件監(jiān)聽器使用詳解
- 解決springboot讀取application.properties中文亂碼問題
- SpringBoot中application.properties與application.yml區(qū)別小結(jié)
- springboot項(xiàng)目中application.properties無法變成小樹葉問題解決方案
- SpringBoot實(shí)現(xiàn)application配置信息加密
- idea創(chuàng)建springboot項(xiàng)目,Application.java不能運(yùn)行問題及解決
相關(guān)文章
SpringBoot使用spring.config.import多種方式導(dǎo)入配置文件
本文主要介紹了SpringBoot使用spring.config.import多種方式導(dǎo)入配置文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05JavaWeb入門:HttpResponse和HttpRequest詳解
這篇文章主要介紹了Django的HttpRequest和HttpResponse對象,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2021-07-07RocketMQ實(shí)現(xiàn)隨緣分BUG小功能示例詳解
這篇文章主要為大家介紹了RocketMQ實(shí)現(xiàn)隨緣分BUG小功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Java實(shí)現(xiàn)選擇排序算法的實(shí)例教程
這篇文章主要介紹了Java實(shí)現(xiàn)選擇排序算法的實(shí)例教程,選擇排序的時(shí)間復(fù)雜度為О(n²),需要的朋友可以參考下2016-05-05Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:插入排序 Insertion Sort
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:插入排序 Insertion Sort,本文直接給出實(shí)例代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下2015-06-06