說明:其實yml和properties文件是一樣的原理,主要是說明application和bootstrap的加載順序。且一個項目上要么yml或者properties,二選一的存在。
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 Cloud時,通常從服務器加載“real”配置數據。為了獲取URL(和其他連接配置,如密碼等),您需要一個較早的或“bootstrap”配置。因此,您將配置服務器屬性放在bootstrap.yml中,該屬性用於加載實際配置數據(通常覆蓋application.yml [如果存在]中的內容)。
當然,在一些情況上不用那么區分這兩個文件,你只需要使用application文件即可,把全部選項都寫在這里,效果基本是一致的,在不考慮上面的加載順序覆蓋的問題上。
搭建srpingcloud-config server端的時候,配置文件可以用application.yml 或 application.properties
但是為什么在config client端卻要使用bootstrap.yml或bootstrap.properties呢?
因為bootstrap.properties的加載是先於application.properties的。