インターフェース Environment
- すべてのスーパーインターフェース:
PropertyResolver
- すべての既知のサブインターフェース:
ConfigurableEnvironment
,ConfigurableWebEnvironment
PropertyResolver
スーパーインターフェースを介して公開されます。 プロファイルは、指定されたプロファイルがアクティブである場合にのみコンテナーに登録される Bean 定義の名前付き論理グループです。Bean は、XML で定義されているか、アノテーションを介して定義されているかに関係なく、プロファイルに割り当てることができます。構文の詳細については、spring-beans 3.1 スキーマまたは @Profile
アノテーションを参照してください。プロファイルに関連する Environment
オブジェクトのロールは、現在アクティブなプロファイル(存在する場合)と、デフォルトでアクティブにする必要があるプロファイル(存在する場合)を決定することです。
プロパティは、ほとんどすべてのアプリケーションで重要なロールを果たし、プロパティファイル、JVM システムプロパティ、システム環境変数、JNDI、サーブレットコンテキストパラメーター、アドホックプロパティオブジェクト、マップなど、さまざまなソースから発生する可能性があります。プロパティに関連する Environment
オブジェクトのロールは、プロパティソースを構成し、それらからプロパティを解決するための便利なサービスインターフェースをユーザーに提供することです。
ApplicationContext
内で管理される Bean は、プロファイルの状態を照会したり、プロパティを直接解決したりするために、EnvironmentAware
または Environment
として @Inject
として登録できます。
ただし、ほとんどの場合、アプリケーションレベルの Bean は Environment
と直接対話する必要はないはずですが、代わりに ${...}
プロパティ値を PropertySourcesPlaceholderConfigurer
などのプロパティプレースホルダー構成に置き換える必要があります。これは、EnvironmentAware
であり、<context:property-placeholder/>
を使用する場合、Spring 3.1 以降はデフォルトで登録されています。
Environment
オブジェクトの構成は、すべての AbstractApplicationContext
サブクラス getEnvironment()
メソッドから返される ConfigurableEnvironment
インターフェースを介して行う必要があります。アプリケーションコンテキスト refresh()
の前のプロパティソースの操作を示す使用例については、ConfigurableEnvironment
Javadoc を参照してください。
- 導入:
- 3.1
- 作成者:
- Chris Beams
- 関連事項:
PropertyResolver
EnvironmentCapable
ConfigurableEnvironment
AbstractEnvironment
StandardEnvironment
EnvironmentAware
ConfigurableApplicationContext.getEnvironment()
ConfigurableApplicationContext.setEnvironment(org.springframework.core.env.ConfigurableEnvironment)
AbstractApplicationContext.createEnvironment()
メソッドのサマリー
修飾子と型メソッド説明boolean
acceptsProfiles
(StringSE... profiles) 使用すべきではありません。boolean
acceptsProfiles
(Profiles profiles) アクティブなプロファイルが指定されたProfiles
述語と一致するかどうかを返します。StringSE[]
この環境で明示的にアクティブにされたプロファイルのセットを返します。StringSE[]
アクティブなプロファイルが明示的に設定されていない場合、デフォルトでアクティブになるプロファイルのセットを返します。インターフェース org.springframework.core.env.PropertyResolver から継承されたメソッド
containsProperty, getProperty, getProperty, getProperty, getProperty, getRequiredProperty, getRequiredProperty, resolvePlaceholders, resolveRequiredPlaceholders
メソッドの詳細
getActiveProfiles
StringSE[] getActiveProfiles()この環境で明示的にアクティブにされたプロファイルのセットを返します。プロファイルは、デプロイ環境などに基づいて、条件付きで登録される Bean 定義の論理グループを作成するために使用されます。プロファイルをアクティブにするには、"spring.profiles.active" をシステムプロパティとして設定するか、ConfigurableEnvironment.setActiveProfiles(String...)
を呼び出します。アクティブとして明示的に指定されたプロファイルがない場合は、デフォルトのプロファイルが自動的にアクティブになります。
getDefaultProfiles
StringSE[] getDefaultProfiles()アクティブなプロファイルが明示的に設定されていない場合、デフォルトでアクティブになるプロファイルのセットを返します。acceptsProfiles
使用すべきではありません。5.1 現在、acceptsProfiles(Profiles)
を推奨指定された 1 つ以上のプロファイルがアクティブであるかどうか、明示的なアクティブプロファイルがない場合は、1 つ以上の指定されたプロファイルがデフォルトプロファイルのセットに含まれているかどうかを返します。プロファイルが "!" で始まる場合ロジックは逆になります。つまり、指定されたプロファイルがアクティブでない場合、メソッドはtrue
を返します。例: プロファイル "p1" がアクティブであるか "p2" がアクティブでない場合、env.acceptsProfiles("p1", "!p2")
はtrue
を返します。- 例外:
IllegalArgumentExceptionSE
- 引数なしで呼び出された場合、またはプロファイルがnull
、空、または空白のみの場合- 関連事項:
acceptsProfiles
アクティブなプロファイルが指定されたProfiles
述語と一致するかどうかを返します。
acceptsProfiles(Profiles)
を推奨