Spring Boot排除自動配置的方法

2021-10-01 09:45:23 字數 1613 閱讀 9162

spring boot 提供的自動配置非常強大,某些情況下,自動配置的功能可能不符合我們的需求,需要我們自定義配置,這個時候就需要排除/禁用 spring boot 某些類的自動化配置了。比如:資料來源、郵件,這些都是提供了自動配置的,我們需要排除 spring boot 的自動化配置,交給我們自己來自定義。

// ...}

自動配置類不在類路徑下的時候,使用 excludename 屬性進行排除指定的類名全路徑:

// ...}

這個註解整合了@enableautoconfiguration註解及其裡面的引數,這個不用多解釋了,

單獨使用@enableautoconfiguration註解的時候:

@...

@enableautoconfiguration

(exclude = )

// ...

}

自動配置類不在類路徑下的時候,使用 excludename 屬性進行排除指定的類名全路徑:

@...

@enableautoconfiguration )

// ...

}

@...

@enableautoconfiguration

(exclude = )

// ...

}

spring cloud 必須建立在 spring boot 應用之上,所以這個不用多解釋了。

終極方案,不管是 spring boot 還是 spring cloud 都可以搞定,在配置檔案中指定引數spring.autoconfigure.exclude進行排除:

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.datasourceautoconfiguration,\

org.springframework.boot.autoconfigure.mail.mailsenderautoconfiguration

或者還可以這樣寫:

spring.autoconfigure.exclude[0]=org.springframework.boot.autoconfigure.jdbc.datasourceautoconfiguration

spring.autoconfigure.exclude[1]=org.springframework.boot.autoconfigure.mail.mailsenderautoconfiguration

如果你用的是 yaml 配置檔案,可以這麼寫:

spring:     

autoconfigure:

exclude:

- org.springframework.boot.autoconfigure.jdbc.datasourceautoconfiguration

- org.springframework.boot.autoconfigure.mail.mailsenderautoconfiguration

springboot 排除內嵌的tomcat方法

因為曾經面試被這個攔住過,所以自己寫乙個總結了下,內容都是 於網路 springboot啟動會去使用內嵌的tomcat伺服器,但是我們通常開發都是自己配置,所以需要有去掉這個配置的要求 1.方法一 org.springframework.boot spring boot starter web or...

基於springboot的多資料來源自動配置實現

最近做了乙個自動支援多資料來源配置的功能,基於springboot生態擴充套件,可自動識別配置檔案中的資料庫配置引數,並進行autoconfig。功能性 非功能性 注意事項 如何使用 1 要使用多資料來源自動配置,需要將springboot自帶的datasource相關自動配置類遮蔽自動啟動。在sp...

SpringBoot新增Swagger配置

swagger 是乙個規範和完整的框架,用於生成 描述 呼叫和視覺化 restful 風格的 web 服務。總體目標是使客戶端和檔案系統作為伺服器以同樣的速度來更新。檔案的方法 引數 模型緊密整合到伺服器端的 允許api來始終保持同步。swagger 讓部署管理和使用功能強大的api從未如此簡單。1...