インターフェース Environment

すべてのスーパーインターフェース:
PropertyResolver
すべての既知のサブインターフェース:
ConfigurableEnvironmentConfigurableWebEnvironment
すべての既知の実装クラス:
AbstractEnvironmentMockEnvironmentStandardEnvironmentStandardServletEnvironment

public interface Environment extends PropertyResolver
現在のアプリケーションが実行されている環境を表すインターフェース。アプリケーション環境の 2 つの重要な側面(プロファイルプロパティ)をモデル化します。プロパティアクセスに関連するメソッドは、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
関連事項: