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 java.lang.String | DEFAULT_BEAN_NAME_SEPARATOR デフォルトの Bean 名前セパレータ。 |
localOverride, localProperties, logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターと説明 |
---|
PropertyOverrideConfigurer() |
修飾子と型 | メソッドと説明 |
---|---|
protected void | applyPropertyValue(ConfigurableListableBeanFactory factory, java.lang.String beanName, java.lang.String property, java.lang.String value) 指定されたプロパティ値を対応する Bean に適用します。 |
boolean | hasPropertyOverridesFor(java.lang.String beanName) この Bean のオーバーライドはありましたか? 処理が少なくとも 1 回発生した後でのみ有効です。 |
protected void | processKey(ConfigurableListableBeanFactory factory, java.lang.String key, java.lang.String value) 指定されたキーを 'beanName.property' エントリとして処理します。 |
protected void | processProperties(ConfigurableListableBeanFactory beanFactory, java.util.Properties props) 特定のプロパティを特定の BeanFactory に適用します。 |
void | setBeanNameSeparator(java.lang.String beanNameSeparator) Bean 名とプロパティパスの間に期待するセパレータを設定します。 |
void | setIgnoreInvalidKeys(boolean ignoreInvalidKeys) 無効なキーを無視するかどうかを設定します。 |
convertProperties, convertProperty, convertPropertyValue, getOrder, postProcessBeanFactory, setOrder
loadProperties, mergeProperties, setFileEncoding, setIgnoreResourceNotFound, setLocalOverride, setLocation, setLocations, setProperties, setPropertiesArray, setPropertiesPersister
public static final java.lang.String DEFAULT_BEAN_NAME_SEPARATOR
public void setBeanNameSeparator(java.lang.String beanNameSeparator)
public void setIgnoreInvalidKeys(boolean ignoreInvalidKeys)
無効なキーを無視すると、"beanName.property" 形式に従わないキー (または無効な Bean 名またはプロパティを参照するキー) はデバッグレベルでログに記録されます。これにより、プロパティファイルに任意の他のキーを含めることができます。
protected void processProperties(ConfigurableListableBeanFactory beanFactory, java.util.Properties props) throws BeansException
PropertyResourceConfigurer
PropertyResourceConfigurer
の processProperties
beanFactory
- アプリケーションコンテキストで使用される BeanFactoryprops
- 適用するプロパティ BeansException
- エラーの場合 protected void processKey(ConfigurableListableBeanFactory factory, java.lang.String key, java.lang.String value) throws BeansException
protected void applyPropertyValue(ConfigurableListableBeanFactory factory, java.lang.String beanName, java.lang.String property, java.lang.String value)
public boolean hasPropertyOverridesFor(java.lang.String beanName)
beanName
- ステータスを照会する Bean の名前