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 |
localOverride, localProperties, logger
HIGHEST_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, setOrder
loadProperties, mergeProperties, setFileEncoding, setIgnoreResourceNotFound, setLocalOverride, setLocation, setLocations, setProperties, setPropertiesArray, setPropertiesPersister
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setBeanNameSeparator(StringSE beanNameSeparator)
public void setIgnoreInvalidKeys(boolean ignoreInvalidKeys)
無効なキーを無視すると、"beanName.property" 形式に従わないキー (または無効な Bean 名またはプロパティを参照するキー) はデバッグレベルでログに記録されます。これにより、プロパティファイルに任意の他のキーを含めることができます。
protected void processProperties(ConfigurableListableBeanFactory beanFactory, PropertiesSE props) throws BeansException
PropertyResourceConfigurer
PropertyResourceConfigurer
の 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 の名前