インターフェース Environment
- すべてのスーパーインターフェース:
PropertyResolver
- 既知のすべてのサブインターフェース:
ConfigurableEnvironment, ConfigurableWebEnvironment
PropertyResolver スーパーインターフェースを介して公開されます。 プロファイルは、指定されたプロファイルがアクティブである場合にのみコンテナーに登録される Bean 定義の名前付き論理グループです。Bean は、XML で定義されているか、アノテーションを介して定義されているかに関係なく、プロファイルに割り当てることができます。構文の詳細については、spring-beans 3.1 スキーマまたは @Profile アノテーションを参照してください。プロファイルに関連する Environment オブジェクトのロールは、現在アクティブなプロファイル(存在する場合)と、デフォルトでアクティブにする必要があるプロファイル(存在する場合)を決定することです。
プロパティは、ほとんどすべてのアプリケーションで重要なロールを果たし、プロパティファイル、JVM システムプロパティ、システム環境変数、JNDI、サーブレットコンテキストパラメーター、アドホックプロパティオブジェクト、マップなど、さまざまなソースから発生する可能性があります。プロパティに関連する Environment オブジェクトのロールは、プロパティソースを構成し、それらからプロパティを解決するための便利なサービスインターフェースをユーザーに提供することです。
ApplicationContext 内で管理される Bean は、プロファイルの状態を照会したり、プロパティを直接解決したりするために、EnvironmentAware または Environment として @Inject として登録できます。
ただし、ほとんどの場合、アプリケーションレベルの Bean は Environment と直接やり取りする必要はありませんが、代わりに、それ自体が EnvironmentAware であり、<context:property-placeholder/> を使用するときにデフォルトで登録される PropertySourcesPlaceholderConfigurer などのプロパティプレースホルダーコンフィギュアラーによって ${...} プロパティ値を置き換えるようにリクエストする場合があります。
Environment オブジェクトの構成は、すべての AbstractApplicationContext サブクラス getEnvironment() メソッドから返される ConfigurableEnvironment インターフェースを介して行う必要があります。アプリケーションコンテキスト refresh() の前のプロパティソースの操作を示す使用例については、ConfigurableEnvironment Javadoc を参照してください。
- 導入:
- 3.1
- 作成者:
- Chris Beams, Phillip Webb, Sam Brannen
- 関連事項:
方法の概要
修飾子と型メソッド説明booleanacceptsProfiles(StringSE... profiles) 使用すべきではありません。booleanacceptsProfiles(Profiles profiles) 指定されたProfiles述語がアクティブプロファイルと一致するかどうかを判断します。または、明示的なアクティブプロファイルがない場合は、指定されたProfiles述語がデフォルトプロファイルと一致するかどうかを判断します。StringSE[]この環境で明示的にアクティブにされたプロファイルのセットを返します。StringSE[]アクティブなプロファイルが明示的に設定されていない場合、デフォルトでアクティブになるプロファイルのセットを返します。default booleanmatchesProfiles(StringSE... profileExpressions) 指定されたプロファイル式の 1 つがアクティブなプロファイルと一致するかどうかを判断します。または、明示的なアクティブなプロファイルがない場合は、指定されたプロファイル式の 1 つがデフォルトプロファイルと一致するかどうかを判断します。
方法の詳細
getActiveProfiles
StringSE[] getActiveProfiles()この環境で明示的にアクティブにされたプロファイルのセットを返します。プロファイルは、デプロイ環境などに基づいて、条件付きで登録される Bean 定義の論理グループを作成するために使用されます。プロファイルをアクティブにするには、"spring.profiles.active" をシステムプロパティとして設定するか、ConfigurableEnvironment.setActiveProfiles(String...)を呼び出します。アクティブとして明示的に指定されたプロファイルがない場合は、デフォルトのプロファイルが自動的にアクティブになります。
- 関連事項:
getDefaultProfiles
matchesProfiles
指定されたプロファイル式の 1 つがアクティブなプロファイルと一致するかどうかを判断します。または、明示的なアクティブなプロファイルがない場合は、指定されたプロファイル式の 1 つがデフォルトプロファイルと一致するかどうかを判断します。プロファイル式を使用すると、複雑なブール型プロファイルロジックを表現できます。例:
"p1 & p2"、"(p1 & p2) | p3"など。サポートされる式構文の詳細については、"Profiles.of(String...)" を参照してください。このメソッドは、
env.acceptsProfiles(Profiles.of(profileExpressions))の便利なショートカットです。- 導入:
- 5.3.28
- 関連事項:
acceptsProfiles
使用すべきではありません。指定されたプロファイルの 1 つ以上がアクティブかどうか、明示的にアクティブなプロファイルがない場合は、指定されたプロファイルの 1 つ以上がデフォルトプロファイルのセットに含まれているかどうかを判断します。プロフィールが "!" で始まる場合ロジックは反転します。つまり、指定されたプロファイルがアクティブでない場合、このメソッドは
trueを返します。例: プロファイル "p1" がアクティブであるか、"p2" がアクティブでない場合、env.acceptsProfiles("p1", "!p2")はtrueを返します。- 例外:
IllegalArgumentExceptionSE-null配列、空の配列、引数なしで呼び出された場合、いずれかのプロファイルがnull、空、または空白のみの場合- 関連事項:
acceptsProfiles
指定されたProfiles述語がアクティブプロファイルと一致するかどうかを判断します。または、明示的なアクティブプロファイルがない場合は、指定されたProfiles述語がデフォルトプロファイルと一致するかどうかを判断します。プロファイル式を文字列として直接指定したい場合は、代わりに
matchesProfiles(String...)を使用してください。- 導入:
- 5.1
- 関連事項:
acceptsProfiles(Profiles)またはmatchesProfiles(String...)を優先