用過 Spring Boot 的都知道在 Spring Boot 中有如下兩種配置文件html
爲何會有這兩種配置文件呢?你們都清楚它們的區別和具體使用場景嗎?java
特地去翻了下 Spring Boot 的官方文檔,沒有找到關於這兩種文件的具體定義,而後再翻了下 Spring Cloud 的官方文檔找到了它們的區別。spring
認真閱讀了下文檔,原文大概意思是這樣。app
Spring Cloud 構建於 Spring Boot 之上,在 Spring Boot 中有兩種上下文,一種是 bootstrap, 另一種是 application, bootstrap 是應用程序的父上下文,也就是說 bootstrap 加載優先於 applicaton。bootstrap 主要用於從額外的資源來加載配置信息,還能夠在本地外部配置文件中解密屬性。這兩個上下文共用一個環境,它是任何Spring應用程序的外部屬性的來源。bootstrap 裏面的屬性會優先加載,它們默認也不能被本地相同配置覆蓋。加密
所以,對比 application 配置文件,bootstrap 配置文件具備如下幾個特性。htm
application 配置文件這個容易理解,主要用於 Spring Boot 項目的自動化配置。blog
bootstrap 配置文件有如下幾個應用場景。資源
如下這個截圖是一個國外網友問了一個 Spring Cloud 工程師獲得的回答。文檔