SpringCloud的配置檔案bootstrap和application的區別

SpringCloud的配置檔案bootstrap和application的區別

零散的知識:這種小知識可能會在面試中被問到,因此有意無意就整理一下。

關於bootstrap。yml可以檢視官網

https://cloud。spring。io/spring-cloud-static/Greenwich。SR1/single/spring-cloud。html#_the_bootstrap_application_context

SpringCloud的配置檔案bootstrap和application的區別

翻譯下來的意思:

spring Cloud應用使用 bootstrap的檔案,這個檔案是spring context的父類。這個配置檔案的 主要職責是過來載入擴充套件屬性以及本地擴充套件的加密解密檔案。它和application的檔案共享一套對外環境。bootstrap 裡面的屬性會優先載入,它們預設也不能被本地相同配置覆蓋。

上下文使用與主應用程式上下文不同的約定來定位外部配置。可以使用bootstrap。yml,而不是application。yml(或。properties),從而使bootstrap的外部配置與主上下文保持良好的分離。

整體來看

boostrap 由父 ApplicationContext 載入,比 applicaton 優先載入

boostrap 裡面的屬性不能被覆蓋,因此bootstrap通常用來配置一些固定的不能被覆蓋的屬性