說明:其實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文件即可,把全部選項都寫在這里,效果基本是一致的,在不考慮上面的加載順序覆蓋的問題上。
參考:
http://www.jianshu.com/p/bc573e0b4f91(以上內容基本翻譯自此篇文章)
https://my.oschina.net/u/3523423/blog/1526026
http://bbs.itmayiedu.com/article/1492421998131?m=0
http://www.bijishequ.com/detail/517437?p=
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html