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...