クラス 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 ConfigurablePropertyResolver
createPropertyResolver
(MutablePropertySources propertySources) 指定されたプロパティソースのConfigurablePropertyResolver
を作成します。post-processing
中に実際に適用されたプロパティソースを返します。void
postProcessBeanFactory
(ConfigurableListableBeanFactory beanFactory) すべて: 処理がPropertySources
のこの構成器のセットに対して、それぞれを解決することによって、Bean 定義で ${...} プレースホルダを交換することによって発生し、含まれている環境プロパティ源をEnvironment
があれば、存在している ローカルのプロパティを合併した場合、いずれかが いるされて 指定されたsetPropertySources(org.springframework.core.env.PropertySources)
を呼び出すことによって設定されたすべてのプロパティのソースをprotected void
processProperties
(ConfigurableListableBeanFactory beanFactory, PropertiesSE props) 使用すべきではありません。protected void
processProperties
(ConfigurableListableBeanFactory beanFactoryToProcess, ConfigurablePropertyResolver propertyResolver) 指定された Bean ファクトリの各 Bean 定義にアクセスし、${...} プロパティのプレースホルダーを指定されたプロパティの値で置き換えようとします。void
setEnvironment
(Environment environment) 指定されたEnvironment
のPropertySources
は、${...} プレースホルダーを置き換えるときに検索されます。void
setPropertySources
(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
の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
を作成します。- パラメーター:
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)
を推奨