最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot自動(dòng)配置排除的五種方式

 更新時(shí)間:2026年04月15日 09:41:57   作者:希望永不加班  
本文詳細(xì)介紹了SpringBoot自動(dòng)配置排除的核心知識(shí)點(diǎn),包括自動(dòng)配置的基本邏輯、為何需要排除自動(dòng)配置、五種排除自動(dòng)配置的方式,需要的朋友可以參考下

本文聚焦 SpringBoot 自動(dòng)配置排除的核心知識(shí)點(diǎn),涵蓋基礎(chǔ)認(rèn)知、5種實(shí)戰(zhàn)排除方式、高頻場景、排錯(cuò)技巧及面試考點(diǎn),精簡冗余內(nèi)容,保留實(shí)戰(zhàn)與面試核心,復(fù)制可用、易懂好記。

一、自動(dòng)配置核心邏輯

1. 自動(dòng)配置本質(zhì)

SpringBoot “開箱即用” 依賴自動(dòng)配置:引入 Starter 依賴(如 web、redis),啟動(dòng)時(shí)自動(dòng)加載對(duì)應(yīng)配置類、創(chuàng)建 Bean,無需手動(dòng)配置。核心載體是 spring-boot-autoconfigure 依賴中的自動(dòng)配置類(如RedisAutoConfiguration)。

2. 自動(dòng)配置觸發(fā)條件

1. 依賴存在:對(duì)應(yīng) Starter 或自動(dòng)配置類所在 jar 包已加載;

2. 條件匹配:自動(dòng)配置類上的 @Conditional 系列注解(如 @ConditionalOnClass)匹配成功。

3. 為什么需要排除自動(dòng)配置?

依賴傳遞導(dǎo)致多余加載、自定義 Bean 沖突、多環(huán)境輕量化啟動(dòng)、第三方 Starter 沖突、自定義 Starter 開發(fā),避免項(xiàng)目啟動(dòng)報(bào)錯(cuò)、資源浪費(fèi)。

二、5種排除自動(dòng)配置方式

方式1:@SpringBootApplication(exclude)

直接在啟動(dòng)類注解中指定排除的自動(dòng)配置類(Class 對(duì)象),適合固定排除少量配置。

@SpringBootApplication(exclude = {
        DataSourceAutoConfiguration.class, // 排除數(shù)據(jù)源配置
        RedisAutoConfiguration.class      // 排除Redis配置
})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

注意:全局生效,需確保配置類可導(dǎo)入,不支持多環(huán)境。

方式2:@SpringBootApplication(excludeName)

用全類名字符串指定排除類,適配包權(quán)限限制、版本變更過渡場景。

@SpringBootApplication(excludeName = {
        "org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration"
})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

注意:全類名需拼寫正確,不推薦常規(guī)使用。

方式3:配置文件排除

通過 yml/properties 配置,支持多環(huán)境動(dòng)態(tài)切換,無需修改代碼,微服務(wù)首選。

# application.yml(推薦)
spring:
  autoconfigure:
    exclude:
      - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
      - org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration

多環(huán)境配置:分別在 application-dev.yml、application-prod.yml 中配置,啟動(dòng)時(shí)指定環(huán)境(--spring.profiles.active=dev)。

方式4:@EnableAutoConfiguration(exclude)

@SpringBootApplication 底層注解,適合非標(biāo)準(zhǔn)啟動(dòng)類、自定義配置擴(kuò)展。

@Configuration
@ComponentScan(basePackages = "com.example.demo")
@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)
public class MyConfig {
    // 自定義Bean配置
}

方式5:autoconfigure.exclude 文件

SpringBoot 2.0+ 支持,全局統(tǒng)一排除,適合自定義 Starter、多模塊統(tǒng)一配置。

操作:resources/META-INF/spring/ 下創(chuàng)建 autoconfigure.exclude 文件,一行一個(gè)全類名。

org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration

三、5種方式對(duì)比

排除方式優(yōu)先級(jí)核心優(yōu)點(diǎn)適用場景
@SpringBootApplication(exclude)最高簡單直觀、精準(zhǔn)普通項(xiàng)目、固定排除
@SpringBootApplication(excludeName)最高無需導(dǎo)入Class無法導(dǎo)入Class場景
配置文件排除支持多環(huán)境、靈活微服務(wù)、多環(huán)境
@EnableAutoConfiguration(exclude)最高底層擴(kuò)展非標(biāo)準(zhǔn)啟動(dòng)類
autoconfigure.exclude 文件最低全局統(tǒng)一自定義Starter

四、實(shí)戰(zhàn)排除清單

1. 非Web服務(wù)(排除Tomcat)

@SpringBootApplication(exclude = {
        ServletWebServerFactoryAutoConfiguration.class,
        WebMvcAutoConfiguration.class
})

2. 排除數(shù)據(jù)庫配置(解決數(shù)據(jù)源報(bào)錯(cuò))

@SpringBootApplication(exclude = {
        DataSourceAutoConfiguration.class,
        DataSourceTransactionManagerAutoConfiguration.class
})

3. 排除Redis配置(自定義RedisTemplate)

@SpringBootApplication(exclude = {
        RedisAutoConfiguration.class,
        RedisRepositoriesAutoConfiguration.class
})

五、常見問題

1. 排除失敗

原因:全類名拼寫錯(cuò)誤、排除類不正確、依賴傳遞、優(yōu)先級(jí)問題;
技巧:添加 debug=true 查看自動(dòng)配置報(bào)告,核對(duì)全類名和依賴樹。

2. 配置文件排除不生效

原因:路徑/文件名錯(cuò)誤、未指定環(huán)境、注解覆蓋;
技巧:確認(rèn)配置文件加載日志,去掉注解排除測試。

3. 排除后Bean不存在報(bào)錯(cuò)

原因:排除了依賴Bean的自動(dòng)配置類;
技巧:保留必要配置類或刪除依賴該Bean的代碼。

總結(jié)

SpringBoot 自動(dòng)配置排除,看似簡單,卻是解決項(xiàng)目啟動(dòng)報(bào)錯(cuò)、避免Bean沖突的核心技巧,也是面試高頻考點(diǎn)。

其實(shí)不用死記硬背,記住兩個(gè)核心場景就夠:普通項(xiàng)目用 @SpringBootApplication(exclude),微服務(wù)多環(huán)境用配置文件排除,剩下的場景按需選擇即可。

以上就是SpringBoot自動(dòng)配置排除的五種方式的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot自動(dòng)配置排除的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java數(shù)據(jù)導(dǎo)出到Word的實(shí)現(xiàn)方案

    Java數(shù)據(jù)導(dǎo)出到Word的實(shí)現(xiàn)方案

    最近業(yè)務(wù)方說周報(bào)、月報(bào)讓他們很頭疼,每次都要統(tǒng)計(jì)數(shù)據(jù)后,手動(dòng)錄入到word文檔里,希望我負(fù)責(zé)的平臺(tái)能夠提供這個(gè)功能,所以本文給大家介紹了Java數(shù)據(jù)導(dǎo)出到Word的實(shí)現(xiàn)方案,需要的朋友可以參考下
    2025-08-08
  • java連接mongoDB并進(jìn)行增刪改查操作實(shí)例詳解

    java連接mongoDB并進(jìn)行增刪改查操作實(shí)例詳解

    這篇文章主要介紹了java連接mongoDB并進(jìn)行增刪改查操作,結(jié)合實(shí)例形式詳細(xì)分析了java環(huán)境下MongoDB擴(kuò)展包的下載、安裝及操作MongoDB連接、增刪改查等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • java性能優(yōu)化之代碼緩存優(yōu)化

    java性能優(yōu)化之代碼緩存優(yōu)化

    這篇文章主要介紹了java性能優(yōu)化之代碼緩存優(yōu)化,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • Jackson的用法實(shí)例分析

    Jackson的用法實(shí)例分析

    這篇文章主要介紹了Jackson的用法實(shí)例分析,用于處理Java的json格式數(shù)據(jù)非常實(shí)用,需要的朋友可以參考下
    2014-08-08
  • 使用Java高效讀取Word文檔的實(shí)戰(zhàn)指南

    使用Java高效讀取Word文檔的實(shí)戰(zhàn)指南

    在當(dāng)今的企業(yè)級(jí)應(yīng)用中,Word文檔作為信息承載和交流的重要載體,其自動(dòng)化處理需求日益增長,無論是批量數(shù)據(jù)提取、內(nèi)容審計(jì),還是文檔智能分析,都離不開對(duì)Word文檔內(nèi)容的有效讀取,本文將深入探討如何使用Java高效、準(zhǔn)確地 讀取Word文件,需要的朋友可以參考下
    2025-09-09
  • 用Set類判斷Map里key是否存在的示例代碼

    用Set類判斷Map里key是否存在的示例代碼

    本篇文章主要是對(duì)用Set類判斷Map里key是否存在的示例代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-12-12
  • Java 實(shí)現(xiàn)貪吃蛇游戲的示例

    Java 實(shí)現(xiàn)貪吃蛇游戲的示例

    這篇文章主要介紹了Java 如何實(shí)現(xiàn)貪吃蛇游戲,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(13)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(13)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • java解析多層嵌套json字符串問題

    java解析多層嵌套json字符串問題

    這篇文章主要介紹了java解析多層嵌套json字符串問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java高效實(shí)現(xiàn)復(fù)制PPT(PowerPoint)幻燈片

    Java高效實(shí)現(xiàn)復(fù)制PPT(PowerPoint)幻燈片

    在日常的開發(fā)工作中,我們經(jīng)常會(huì)遇到需要對(duì)Office文檔進(jìn)行編程處理的需求,本文將為您揭示如何利用強(qiáng)大的 Spire.Presentation for Java進(jìn)行PPT復(fù)制,有需要的小伙伴可以了解下
    2025-09-09

最新評(píng)論

泰安市| 治多县| 丹江口市| 河东区| 宜丰县| 竹山县| 内乡县| 太湖县| 浠水县| 万载县| 新绛县| 吴堡县| 祥云县| 新竹县| 合山市| 大安市| 泰来县| 房产| 威远县| 五指山市| 上高县| 白银市| 长乐市| 水富县| 友谊县| 广西| 遂昌县| 紫阳县| 济阳县| 务川| 宜章县| 若尔盖县| 兴隆县| 永兴县| 华亭县| 呼伦贝尔市| 巴南区| 和顺县| 滁州市| 启东市| 额尔古纳市|