用過 Spring Boot 的都知道在 Spring Boot 中有如下兩種配置文件html
爲何會有這兩種配置文件呢?你們都清楚它們的區別和具體使用場景嗎?java
特地去翻了下 Spring Boot 的官方文檔,沒有找到關於這兩種文件的具體定義,而後再翻了下 Spring Cloud 的官方文檔找到了它們的區別。spring
認真閱讀了下文檔,原文大概意思是這樣。微信
Spring Cloud 構建於 Spring Boot 之上,在 Spring Boot 中有兩種上下文,一種是 bootstrap, 另一種是 application, bootstrap 是應用程序的父上下文,也就是說 bootstrap 加載優先於 applicaton。bootstrap 主要用於從額外的資源來加載配置信息,還能夠在本地外部配置文件中解密屬性。這兩個上下文共用一個環境,它是任何Spring應用程序的外部屬性的來源。bootstrap 裏面的屬性會優先加載,它們默認也不能被本地相同配置覆蓋。app
所以,對比 application 配置文件,bootstrap 配置文件具備如下幾個特性。微服務
application 配置文件這個容易理解,主要用於 Spring Boot 項目的自動化配置。源碼分析
bootstrap 配置文件有如下幾個應用場景。加密
如下這個截圖是一個國外網友問了一個 Spring Cloud 工程師獲得的回答。htm
作過 Spring Cloud 微服務的朋友應該對 bootstrap 的應用十分清楚,咱們的微信公衆號Java技術棧也有 Spring Cloud 的實戰教程,在 Spring 專題中都能看到。
好了,今天的分享就到這裏,關注Java技術棧微信公衆號,在後臺回覆:boot,獲取棧長整理的更多的 Spring Boot 教程,都是實戰乾貨,如下僅爲部分預覽。
本文原創首發於微信公衆號:Java技術棧(id:javastack),轉載請原樣保留本信息。