您好,登錄后才能下訂單哦!
這篇文章主要介紹“Spring Boot配置文件bootstrap與application的區別是什么”,在日常操作中,相信很多人在Spring Boot配置文件bootstrap與application的區別是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Spring Boot配置文件bootstrap與application的區別是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
用過 Spring Boot 的都知道在 Spring Boot 中有以下兩種配置文件
bootstrap (.yml 或者 .properties)
application (.yml 或者 .properties)
為什么會有這兩種配置文件呢?大家都清楚它們的區別和具體使用場景嗎?
特意去翻了下 Spring Boot 的官方文檔,沒有找到關于這兩種文件的具體定義,然后再翻了下 Spring Cloud 的官方文檔找到了它們的區別。
https://cloud.spring.io/spring-cloud-static/Greenwich.SR1/single/spring-cloud.html#_the_bootstrap_application_context
認真閱讀了下文檔,原文大概意思是這樣。
Spring Cloud 構建于 Spring Boot 之上,在 Spring Boot 中有兩種上下文,一種是 bootstrap, 另外一種是 application, bootstrap 是應用程序的父上下文,也就是說 bootstrap 加載優先于 applicaton。
bootstrap 主要用于從額外的資源來加載配置信息,還可以在本地外部配置文件中解密屬性。這兩個上下文共用一個環境,它是任何Spring應用程序的外部屬性的來源。bootstrap 里面的屬性會優先加載,它們默認也不能被本地相同配置覆蓋。
因此,對比 application 配置文件,bootstrap 配置文件具有以下幾個特性。
boostrap 由父 ApplicationContext 加載,比 applicaton 優先加載
boostrap 里面的屬性不能被覆蓋
application 配置文件這個容易理解,主要用于 Spring Boot 項目的自動化配置。
bootstrap 配置文件有以下幾個應用場景。
使用 Spring Cloud Config 配置中心時,這時需要在 bootstrap 配置文件中添加連接到配置中心的配置屬性來加載外部配置中心的配置信息;
一些固定的不能被覆蓋的屬性
一些加密/解密的場景;
做過 Spring Cloud 微服務的朋友應該對 bootstrap 的應用十分清楚,我們也有 Spring Cloud 的實戰教程,在 Spring 專題中都能看到。
到此,關于“Spring Boot配置文件bootstrap與application的區別是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。