說明:其實yml和properties文件是同樣的原理,主要是說明application和bootstrap的加載順序。且一個項目上要麼yml或者properties,二選一的存在。git
Bootstrap.yml(bootstrap.properties)在application.yml(application.properties)以前加載,就像application.yml同樣,可是用於應用程序上下文的引導階段。它一般用於「使用Spring Cloud Config Server時,應在bootstrap.yml中指定spring.application.name和spring.cloud.config.server.git.uri」以及一些加密/解密信息。技術上,bootstrap.yml由父Spring ApplicationContext加載。父ApplicationContext被加載到使用application.yml的以前。spring
例如,當使用Spring Cloud時,一般從服務器加載「real」配置數據。爲了獲取URL(和其餘鏈接配置,如密碼等),您須要一個較早的或「bootstrap」配置。所以,您將配置服務器屬性放在bootstrap.yml中,該屬性用於加載實際配置數據(一般覆蓋application.yml [若是存在]中的內容)。bootstrap
固然,在一些狀況上不用那麼區分這兩個文件,你只須要使用application文件便可,把所有選項都寫在這裏,效果基本是一致的,在不考慮上面的加載順序覆蓋的問題上。服務器
搭建srpingcloud-config server端的時候,配置文件能夠用application.yml 或 application.propertiesapp
可是爲何在config client端卻要使用bootstrap.yml或bootstrap.properties呢?加密
由於bootstrap.properties的加載是先於application.properties的。spa