SpringBootシリーズのprofiles特集
1288 ワード
本文:
Springbootは、異なる環境で異なるプロファイルを読み込む方法の1つです.一般的な環境は、devのローカル開発、testのテスト、および本番環境prodです.
簡単に説明します:springbootデフォルトはアプリケーションを読み込みます.ymlまたはアプリケーション.properties.異なる環境を区別するためにprofilesメカニズムが提供されている.開発環境でアプリケーションのようなプロファイルがある場合は、dev.ymlはアプリケーションです.ymlでspringを通過する.profiles.Active=devであり、コンテナ起動時に構成を読み込むとdevの値(同じ属性の)が優先されます.
一般的な実装方法:
一.(springbootでサポートされているprofile)はアプリケーションに直接あります.ymlでプロパティspringを設定します.profiles.active=xxx;
二.(mavenがサポートするprofile)mavenでprofilesノードを構成する
1.まずpomで以下のように構成する
2.そしてアプリケーションでyml加入spring.profiles.Active=@profileActive@,赤字部分は自分で定義できる属性名である.
注意点:@.....@何ですか.
これはリソースフィルタプレースホルダです.一般的には${xxx}と同じですが、Mavenのデフォルトはこの${}です.SpringBootはproperties機能を拡張しています.
${xxx}は定義された構成項目を参照するため、両者は競合します.親pom(spring-boot-starter-parent)で構成し、springbootを@xxx@に変更し、デフォルトのmavenリソースフィルタプレースホルダを無効にします.だから@xxx@はmavenで定義した属性を参照することができます
Springbootは、異なる環境で異なるプロファイルを読み込む方法の1つです.一般的な環境は、devのローカル開発、testのテスト、および本番環境prodです.
簡単に説明します:springbootデフォルトはアプリケーションを読み込みます.ymlまたはアプリケーション.properties.異なる環境を区別するためにprofilesメカニズムが提供されている.開発環境でアプリケーションのようなプロファイルがある場合は、dev.ymlはアプリケーションです.ymlでspringを通過する.profiles.Active=devであり、コンテナ起動時に構成を読み込むとdevの値(同じ属性の)が優先されます.
一般的な実装方法:
一.(springbootでサポートされているprofile)はアプリケーションに直接あります.ymlでプロパティspringを設定します.profiles.active=xxx;
二.(mavenがサポートするprofile)mavenでprofilesノードを構成する
1.まずpomで以下のように構成する
dev
true ,
dev
2.そしてアプリケーションでyml加入spring.profiles.Active=@profileActive@,赤字部分は自分で定義できる属性名である.
注意点:@.....@何ですか.
これはリソースフィルタプレースホルダです.一般的には${xxx}と同じですが、Mavenのデフォルトはこの${}です.SpringBootはproperties機能を拡張しています.
${xxx}は定義された構成項目を参照するため、両者は競合します.親pom(spring-boot-starter-parent)で構成し、springbootを@xxx@に変更し、デフォルトのmavenリソースフィルタプレースホルダを無効にします.だから@xxx@はmavenで定義した属性を参照することができます