天天看點

Spring Boot 中application.yml與bootstrap.yml的差別

yml與properties

其實yml和properties檔案是一樣的原理,且一個項目上要麼yml或者properties,二選一的存在。

推薦使用yml,更簡潔。

bootstrap與application

這裡主要是說明application和bootstrap的加載順序。

bootstrap.yml(bootstrap.properties)先加載

application.yml(application.properties)後加載

bootstrap.yml 用于應用程式上下文的引導階段。

bootstrap.yml 由父Spring ApplicationContext加載。

父ApplicationContext 被加載到使用 application.yml 的之前。

bootstrap.yml 和application.yml 都可以用來配置參數。

bootstrap.yml 可以了解成系統級别的一些參數配置,這些參數一般是不會變動的。

application.yml 可以用來定義應用級别的,如果搭配 spring-cloud-config 使用 application.yml 裡面定義的檔案可以實作動态替換。

使用Spring Cloud Config Server時,應在 bootstrap.yml 中指定:

spring.application.name

spring.cloud.config.server.git.uri

一些加密/解密資訊

執行個體:

bootstrap.yml

當使用Spring Cloud時,通常從伺服器加載“real”配置資料。為了擷取URL(和其他連接配接配置,如密碼等),您需要一個較早的或“bootstrap”配置。是以,您将配置伺服器屬性放在bootstrap.yml中,該屬性用于加載實際配置資料(通常覆寫application.yml [如果存在]中的内容)。

當然,在一些情況上不用那麼區分這兩個檔案,你隻需要使用application檔案即可,把全部選項都寫在這裡,效果基本是一緻的,在不考慮上面的加載順序覆寫的問題上。

繼續閱讀