公式サイトの説明
Spring CloudはSpring Boot上に構築されています。Spring Boot には 2 つのコンテキストがあり、1 つはブートストラップ、もう 1 つはアプリケーションです。ブートストラップはアプリケーションの親コンテキストです。つまり、ブートストラップの読み込みがアプリケーションよりも優先されます。ブートストラップは主に追加リソースから構成情報をロードするために使用され、ローカルの外部構成ファイル内のプロパティを復号化することもできます。両方のコンテキストは、Spring アプリケーションの外部プロパティのソースである環境を共有します。ブートストラップのプロパティは最初にロードされ、デフォルトでは同じローカル構成でオーバーライドすることはできません。
両者の違い
1. ロード順序の違い
ブートストラップはSpring の親コンテキストによってロードされ、アプリケーションは子コンテキストによってロードされるため、ブートストラップ構成ファイルはアプリケーション構成ファイルより前にロードされます。
2. 優先順位の違い
ブートストラップで読み込んだ設定情報は、アプリケーションの同じ設定で上書きすることはできず、2つの設定ファイルが同時に存在する場合はブートストラップが優先されます。
3. 適用シナリオの違い
ブートストラップの一般的なアプリケーション シナリオ
上書きできないいくつかの固定属性を構成します。一部のシステムレベルのパラメータ構成に使用されます。デフォルトでは、ローカル構成ファイルはリモート構成を上書きできません。
一部のシナリオでは暗号化/復号化が必要です。
Spring Cloud Config 構成センターを使用する場合は、構成センターに接続されている構成プロパティをブーストラップ構成ファイルに追加して、外部構成センターの構成情報をロードする必要があります。
一般的なアプリケーションシナリオ
SpringBoot プロジェクトの自動構成と一部のアプリケーション レベルのパラメーター構成に一般的に使用されます。
上記では、ほとんどの場合、この 2 つの状況を区別する必要はなく、アプリケーションを使用するだけでよく、効果は基本的に同じです。