プロジェクト クラスには、システムが自動的にスキャンする 4 つの場所があります:
1.file:/config/
2.file:/
3.classPath:/config/
4.classPath:/
1) ファイル有効性の優先順位は上から下になります。つまり、異なるパスに同じ属性がある場合、上記のパス属性が最初に選択されます (1>2>3>4)
2) パスのスキャン順序はその優先順位 (4>3>2>1) と逆です。後のものにより上書きされます。すべてのパスがスキャンされ、補完が形成されます。
#application.properties(application.yml)、bootstrap.properties(bootstrap.yml) の読み込み順序と優先度
#1. アプリケーションとブートストラップの比較 (プレフィックス比較)ヒント: ブートストラップ タイプのファイルは、springcloud 関連の設定がマルチサービス プロジェクトに導入されている場合にのみ有効になります。Springboot は自動的にスキャンしませんブートストラップ ファイルはアプリケーション ファイルのみをスキャンするため、この 2 つの比較は spingcloud マルチサービス プロジェクトでのみ意味があります。
1) ロード順序: アプリケーションとブートストラップが同じディレクトリにある場合: ブートストラップは最初にアプリケーションをロードし、次にロードします。
ブートストラップ プロパティの方が優先されます。デフォルトでは、ローカル構成によってオーバーライドされません。 。 (これはインターネットや公式が言っていることですが、私自身のテストの結果、アプリケーションがブートストラップをオーバーライドすることがわかりました。私の理解では、ブートストラップのすべての属性がアプリケーションよりも優先されます。基礎となるシステムに関連する構成のみが高くなります。兄弟、議論を歓迎します)
3) 違い: ブートストラップとアプリケーションの両方をパラメータの設定に使用できます。
Bootstrap は、アプリケーションの初期起動と構成情報の読み取りに使用されます。これは、システム レベルでのいくつかのパラメータ設定として理解できますが、これらのパラメータは通常は変更されません。ブートストラップがロードされると、コンテンツは上書きされません。
application.yml は、アプリケーション レベルのアプリケーション固有の構成情報を定義するために使用でき、後続のモジュールなどで使用されるパブリック パラメーターを構成するために使用できます。
4) ブートストラップの典型的な適用シナリオ (古典的な 3 つのポイント)
##3. いくつかの暗号化/復号化シナリオ
##2. .properties と .yml の比較 (接尾辞の比較)
.yml が .properties
よりも優先2) 優先レベル .properties .yml よりも前では、.properties は後でロードされるときに .yml を上書きするため、3) 違い 1.yml は自然なツリー構造を持ち、プロパティはキーと値のペア ;#概要: 同じレベルのディレクトリ、優先レベルのアプリケーション > ブートストラップ、.プロパティ >、yml では、プレフィックスはサフィックスより大きく、ファイル パスはファイル名より大きくなります
<packaging>jar</packaging>2. yml ファイルの短縮形式が間違っている可能性がありますので、よく確認してください。 3. また、あなたのものはブート プロジェクトではありません。application.yml にはリーフ マークがありません。1. プロジェクト構造をクリックします。
##2. モジュールを開いて 1 回クリックします
#3.
##4. プロジェクトをリファクタリング以上がspringboot は構成ファイルのパスの順序と優先順位をどのように見つけますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。