クラス PropertySourcesPlaceholderConfigurer
- 実装されているすべてのインターフェース:
Aware、BeanFactoryAware、BeanNameAware、BeanFactoryPostProcessor、EnvironmentAware、Ordered、PriorityOrdered
Environment および PropertySources のセットに対する @Value アノテーションを解決する PlaceholderConfigurerSupport の専門化。 このクラスは、PropertyPlaceholderConfigurer の一般的な代替として設計されています。デフォルトでは、spring-context-3.1 以上の XSD に対して動作する property-placeholder 要素をサポートするために使用されます。一方、spring-context バージョン <= 3.0 は、下位互換性を確保するためにデフォルトで PropertyPlaceholderConfigurer になっています。詳細については、spring-context XSD のドキュメントを参照してください。
ローカルプロパティ(たとえば、PropertiesLoaderSupport.setProperties(java.util.Properties)、PropertiesLoaderSupport.setLocations(org.springframework.core.io.Resource...) などを介して追加されたもの)は、単一の PropertySource として追加されます。ローカルプロパティの検索優先順位は、localOverride プロパティの値に基づいて決定されます。デフォルトでは false であり、ローカルプロパティはすべての環境プロパティソースの後に最後に検索されます。
環境プロパティソースの操作の詳細については、ConfigurableEnvironment および関連する javadoc を参照してください。
- 導入:
- 3.1
- 作成者:
- Chris Beams, Juergen Hoeller, Sam Brannen
- 関連事項:
フィールドのサマリー
フィールド修飾子と型フィールド説明static final StringSE"environmentProperties" は、このコンフィギュレータに提供される環境をラップするPropertySourceに付けられた名前です。static final StringSE"localProperties" は、このコンフィギュレータに提供されるマージされたプロパティのセットのPropertySourceに付けられた名前です。クラス org.springframework.beans.factory.config.PlaceholderConfigurerSupport から継承されたフィールド
DEFAULT_ESCAPE_CHARACTER, DEFAULT_PLACEHOLDER_PREFIX, DEFAULT_PLACEHOLDER_SUFFIX, DEFAULT_VALUE_SEPARATOR, escapeCharacter, ignoreUnresolvablePlaceholders, nullValue, placeholderPrefix, placeholderSuffix, trimValues, valueSeparatorクラス org.springframework.core.io.support.PropertiesLoaderSupport から継承されたフィールド
localOverride, localProperties, loggerインターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected ConfigurablePropertyResolvercreatePropertyResolver(MutablePropertySources propertySources) 指定されたプロパティソースのConfigurablePropertyResolverを作成します。post-processing中に実際に適用されたプロパティソースを返します。voidpostProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) すべて: 処理がPropertySourcesのこの構成器のセットに対して、それぞれを解決することによって、Bean 定義で ${...} プレースホルダを交換することによって発生し、含まれている環境プロパティ源をEnvironmentがあれば、存在している ローカルのプロパティを合併した場合、いずれかが いるされて 指定されたsetPropertySources(org.springframework.core.env.PropertySources)を呼び出すことによって設定されたすべてのプロパティのソースをprotected voidprocessProperties(ConfigurableListableBeanFactory beanFactory, PropertiesSE props) 使用すべきではありません。protected voidprocessProperties(ConfigurableListableBeanFactory beanFactoryToProcess, ConfigurablePropertyResolver propertyResolver) 指定された Bean ファクトリの各 Bean 定義にアクセスし、${...} プロパティのプレースホルダーを指定されたプロパティの値で置き換えようとします。voidsetEnvironment(Environment environment) このコンポーネントが実行されるEnvironmentを設定します。voidsetPropertySources(PropertySources propertySources) この構成プログラムで使用するPropertySourcesのセットをカスタマイズします。クラス org.springframework.beans.factory.config.PlaceholderConfigurerSupport から継承されたメソッド
doProcessProperties, setBeanFactory, setBeanName, setEscapeCharacter, setIgnoreUnresolvablePlaceholders, setNullValue, setPlaceholderPrefix, setPlaceholderSuffix, setTrimValues, setValueSeparatorクラス org.springframework.beans.factory.config.PropertyResourceConfigurer から継承されたメソッド
convertProperties, convertProperty, convertPropertyValue, getOrder, setOrderクラス org.springframework.core.io.support.PropertiesLoaderSupport から継承されたメソッド
loadProperties, mergeProperties, setFileEncoding, setIgnoreResourceNotFound, setLocalOverride, setLocation, setLocations, setProperties, setPropertiesArray, setPropertiesPersister
フィールドの詳細
LOCAL_PROPERTIES_PROPERTY_SOURCE_NAME
"localProperties" は、このコンフィギュレータに提供されるマージされたプロパティのセットのPropertySourceに付けられた名前です。- 関連事項:
ENVIRONMENT_PROPERTIES_PROPERTY_SOURCE_NAME
"environmentProperties" は、このコンフィギュレータに提供される環境をラップするPropertySourceに付けられた名前です。- 関連事項:
コンストラクターの詳細
PropertySourcesPlaceholderConfigurer
public PropertySourcesPlaceholderConfigurer()
メソッドの詳細
setPropertySources
この構成プログラムで使用するPropertySourcesのセットをカスタマイズします。このプロパティを設定すると、環境プロパティのソースとローカルプロパティは無視されます。
setEnvironment
このコンポーネントが実行されるEnvironmentを設定します。指定された
EnvironmentのPropertySourcesは、${...} プレースホルダーを置き換えるときに検索されます。postProcessBeanFactory
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException 処理は、Bean 定義の ${...} プレースホルダーを、この構成者のPropertySourcesのセットに対して解決することによって行われます。- すべての環境プロパティソース(
Environmentが存在する場合) - ローカルのプロパティを合併した場合、いずれかが いるされて 指定されました
setPropertySources(org.springframework.core.env.PropertySources)を呼び出して設定されたプロパティソース
setPropertySources(org.springframework.core.env.PropertySources)が呼び出された場合、環境プロパティとローカルプロパティは無視されます。このメソッドは、ユーザーがプロパティソースをきめ細かく制御できるように設計されており、一度設定すると、構成プログラムはソースの追加について何も想定しません。- 次で指定:
- インターフェース
BeanFactoryPostProcessorのpostProcessBeanFactory - オーバーライド:
- クラス
PropertyResourceConfigurerのpostProcessBeanFactory - パラメーター:
beanFactory- アプリケーションコンテキストで使用される Bean ファクトリ- 例外:
BeansException- エラーの場合
- すべての環境プロパティソース(
createPropertyResolver
protected ConfigurablePropertyResolver createPropertyResolver(MutablePropertySources propertySources) 指定されたプロパティソースのConfigurablePropertyResolverを作成します。デフォルト実装は
PropertySourcesPropertyResolverを作成します。- パラメーター:
propertySources- 使用するプロパティソース- 導入:
- 6.0.12
processProperties
protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, ConfigurablePropertyResolver propertyResolver) throws BeansException 指定された Bean ファクトリの各 Bean 定義にアクセスし、${...} プロパティのプレースホルダーを指定されたプロパティの値で置き換えようとします。processProperties
@DeprecatedSE protected void processProperties(ConfigurableListableBeanFactory beanFactory, PropertiesSE props) PlaceholderConfigurerSupportとの互換性のために実装されています。- 次で指定:
- クラス
PropertyResourceConfigurerのprocessProperties - パラメーター:
beanFactory- アプリケーションコンテキストで使用される BeanFactoryprops- 適用するプロパティ- 例外:
UnsupportedOperationExceptionSE- この実装
getAppliedPropertySources
post-processing中に実際に適用されたプロパティソースを返します。- 戻り値:
- 適用されたプロパティソース
- 例外:
IllegalStateExceptionSE- プロパティソースがまだ適用されていない場合- 導入:
- 4.0
processProperties(ConfigurableListableBeanFactory, ConfigurablePropertyResolver)を推奨