public class PropertyOverrideConfigurer extends PropertyResourceConfigurer
構成行は次の形式であることが期待されます。
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 メソッドをオーバーライドすることで、読み込んだ後で変換できます。例: 暗号化された値は、処理する前に検出および復号化できます。
PropertyResourceConfigurer.convertPropertyValue(java.lang.String), PropertyPlaceholderConfigurer| 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | DEFAULT_BEAN_NAME_SEPARATOR デフォルトの Bean 名前セパレータ。 |
localOverride, localProperties, loggerHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| コンストラクターと説明 |
|---|
PropertyOverrideConfigurer() |
| 修飾子と型 | メソッドと説明 |
|---|---|
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) 無効なキーを無視するかどうかを設定します。 |
convertProperties, convertProperty, convertPropertyValue, getOrder, postProcessBeanFactory, setOrderloadProperties, mergeProperties, setFileEncoding, setIgnoreResourceNotFound, setLocalOverride, setLocation, setLocations, setProperties, setPropertiesArray, setPropertiesPersistercloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic void setBeanNameSeparator(StringSE beanNameSeparator)
public void setIgnoreInvalidKeys(boolean ignoreInvalidKeys)
無効なキーを無視すると、"beanName.property" 形式に従わないキー (または無効な Bean 名またはプロパティを参照するキー) はデバッグレベルでログに記録されます。これにより、プロパティファイルに任意の他のキーを含めることができます。
protected void processProperties(ConfigurableListableBeanFactory beanFactory, PropertiesSE props) throws BeansException
PropertyResourceConfigurerPropertyResourceConfigurer の processProperties beanFactory - アプリケーションコンテキストで使用される BeanFactoryprops - 適用するプロパティ BeansException - エラーの場合 protected void processKey(ConfigurableListableBeanFactory factory, StringSE key, StringSE value) throws BeansException
protected void applyPropertyValue(ConfigurableListableBeanFactory factory, StringSE beanName, StringSE property, StringSE value)
public boolean hasPropertyOverridesFor(StringSE beanName)
beanName - ステータスを照会する Bean の名前