クラス PropertyOverrideConfigurer
java.lang.ObjectSE
org.springframework.core.io.support.PropertiesLoaderSupport
org.springframework.beans.factory.config.PropertyResourceConfigurer
org.springframework.beans.factory.config.PropertyOverrideConfigurer
- 実装されたすべてのインターフェース:
BeanFactoryPostProcessor
、Ordered
、PriorityOrdered
アプリケーションコンテキスト定義の Bean プロパティ値をオーバーライドするプロパティリソースコンフィギュレーター。プロパティファイルから Bean 定義に値をプッシュします。
構成行は次の形式であることが期待されます。
beanName.property=valueプロパティファイルの例:
dataSource.driverClassName=com.mysql.jdbc.Driver dataSource.url=jdbc:mysql:mydbPropertyPlaceholderConfigurer とは対照的に、元の定義には、このような Bean プロパティのデフォルト値を設定することも、まったく値を設定しないこともできます。オーバーライドするプロパティファイルに特定の Bean プロパティのエントリがない場合、デフォルトのコンテキスト定義が使用されます。
コンテキスト定義はオーバーライドされることを認識していないことに注意してください。そのため、XML 定義ファイルを見てもすぐにはわかりません。さらに、指定されたオーバーライド値は常にリテラル値であることに注意してください。それらは Bean 参照に変換されません。これは、XML Bean 定義の元の値が Bean 参照を指定している場合にも当てはまります。
同じ Bean プロパティに異なる値を定義する複数の PropertyOverrideConfigurers の場合、(オーバーライドメカニズムにより)最後の 1 つが優先されます。
プロパティ値は、convertPropertyValue
メソッドをオーバーライドすることで、読み込んだ後で変換できます。例: 暗号化された値は、処理する前に検出および復号化できます。
- 導入:
- 12.03.2003
- 作成者:
- Juergen Hoeller, Rod Johnson
- 関連事項:
フィールドサマリー
フィールドクラス org.springframework.core.io.support.PropertiesLoaderSupport から継承されたフィールド
localOverride, localProperties, logger
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected void
applyPropertyValue
(ConfigurableListableBeanFactory factory, StringSE beanName, StringSE property, StringSE value) 指定されたプロパティ値を対応する Bean に適用します。boolean
hasPropertyOverridesFor
(StringSE beanName) この Bean のオーバーライドはありましたか? 処理が少なくとも 1 回発生した後でのみ有効です。protected void
processKey
(ConfigurableListableBeanFactory factory, StringSE key, StringSE value) 指定されたキーを 'beanName.property' エントリとして処理します。protected void
processProperties
(ConfigurableListableBeanFactory beanFactory, PropertiesSE props) 特定のプロパティを特定の BeanFactory に適用します。void
setBeanNameSeparator
(StringSE beanNameSeparator) Bean 名とプロパティパスの間に期待するセパレータを設定します。void
setIgnoreInvalidKeys
(boolean ignoreInvalidKeys) 無効なキーを無視するかどうかを設定します。クラス org.springframework.beans.factory.config.PropertyResourceConfigurer から継承されたメソッド
convertProperties, convertProperty, convertPropertyValue, getOrder, postProcessBeanFactory, setOrder
クラス org.springframework.core.io.support.PropertiesLoaderSupport から継承されたメソッド
loadProperties, mergeProperties, setFileEncoding, setIgnoreResourceNotFound, setLocalOverride, setLocation, setLocations, setProperties, setPropertiesArray, setPropertiesPersister
フィールドの詳細
DEFAULT_BEAN_NAME_SEPARATOR
デフォルトの Bean 名前セパレータ。- 関連事項:
コンストラクターの詳細
PropertyOverrideConfigurer
public PropertyOverrideConfigurer()
メソッドの詳細
setBeanNameSeparator
Bean 名とプロパティパスの間に期待するセパレータを設定します。デフォルトはドット("." )です。setIgnoreInvalidKeys
public void setIgnoreInvalidKeys(boolean ignoreInvalidKeys) 無効なキーを無視するかどうかを設定します。デフォルトは "false" です。無効なキーを無視すると、"beanName.property" 形式に従わないキー (または無効な Bean 名またはプロパティを参照するキー) はデバッグレベルでログに記録されます。これにより、プロパティファイルに任意の他のキーを含めることができます。
processProperties
protected void processProperties(ConfigurableListableBeanFactory beanFactory, PropertiesSE props) throws BeansException クラスからコピーされた説明:PropertyResourceConfigurer
特定のプロパティを特定の BeanFactory に適用します。- 次で指定:
- クラス
PropertyResourceConfigurer
のprocessProperties
- パラメーター:
beanFactory
- アプリケーションコンテキストで使用される BeanFactoryprops
- 適用するプロパティ- 例外:
BeansException
- エラーの場合
processKey
protected void processKey(ConfigurableListableBeanFactory factory, StringSE key, StringSE value) throws BeansException 指定されたキーを 'beanName.property' エントリとして処理します。applyPropertyValue
protected void applyPropertyValue(ConfigurableListableBeanFactory factory, StringSE beanName, StringSE property, StringSE value) 指定されたプロパティ値を対応する Bean に適用します。hasPropertyOverridesFor
この Bean のオーバーライドはありましたか? 処理が少なくとも 1 回発生した後でのみ有効です。- パラメーター:
beanName
- ステータスを照会する Bean の名前- 戻り値:
- 名前付き Bean のプロパティのオーバーライドがあったかどうか