Class PropertyResourceConfigurer
- All Implemented Interfaces:
BeanFactoryPostProcessor
,Ordered
,PriorityOrdered
- Direct Known Subclasses:
PlaceholderConfigurerSupport
,PropertyOverrideConfigurer
Two concrete implementations are provided in the distribution:
PropertyOverrideConfigurer
for "beanName.property=value" style overriding (pushing values from a properties file into bean definitions)PropertyPlaceholderConfigurer
for replacing "${...}" placeholders (pulling values from a properties file into bean definitions)
Property values can be converted after reading them in, through overriding
the convertPropertyValue(java.lang.String)
method. For example, encrypted values
can be detected and decrypted accordingly before processing them.
- Since:
- 02.10.2003
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from class org.springframework.core.io.support.PropertiesLoaderSupport
localOverride, localProperties, logger
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
convertProperties
(Properties props) Convert the given merged properties, converting property values if necessary.protected String
convertProperty
(String propertyName, String propertyValue) Convert the given property from the properties source to the value which should be applied.protected String
convertPropertyValue
(String originalValue) Convert the given property value from the properties source to the value which should be applied.int
getOrder()
Get the order value of this object.void
postProcessBeanFactory
(ConfigurableListableBeanFactory beanFactory) protected abstract void
processProperties
(ConfigurableListableBeanFactory beanFactory, Properties props) Apply the given Properties to the given BeanFactory.void
setOrder
(int order) Set the order value of this object for sorting purposes.Methods inherited from class org.springframework.core.io.support.PropertiesLoaderSupport
loadProperties, mergeProperties, setFileEncoding, setIgnoreResourceNotFound, setLocalOverride, setLocation, setLocations, setProperties, setPropertiesArray, setPropertiesPersister
-
Constructor Details
-
PropertyResourceConfigurer
public PropertyResourceConfigurer()
-
-
Method Details
-
setOrder
public void setOrder(int order) Set the order value of this object for sorting purposes.- See Also:
-
getOrder
public int getOrder()Description copied from interface:Ordered
Get the order value of this object.Higher values are interpreted as lower priority. As a consequence, the object with the lowest value has the highest priority (somewhat analogous to Servlet
load-on-startup
values).Same order values will result in arbitrary sort positions for the affected objects.
-
postProcessBeanFactory
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException - Specified by:
postProcessBeanFactory
in interfaceBeanFactoryPostProcessor
- Parameters:
beanFactory
- the bean factory used by the application context- Throws:
BeanInitializationException
- if any properties cannot be loadedBeansException
- in case of errors
-
convertProperties
Convert the given merged properties, converting property values if necessary. The result will then be processed.The default implementation will invoke
convertPropertyValue(java.lang.String)
for each property value, replacing the original with the converted value.- Parameters:
props
- the Properties to convert- See Also:
-
convertProperty
Convert the given property from the properties source to the value which should be applied.The default implementation calls
convertPropertyValue(String)
.- Parameters:
propertyName
- the name of the property that the value is defined forpropertyValue
- the original value from the properties source- Returns:
- the converted value, to be used for processing
- See Also:
-
convertPropertyValue
Convert the given property value from the properties source to the value which should be applied.The default implementation simply returns the original value. Can be overridden in subclasses, for example to detect encrypted values and decrypt them accordingly.
- Parameters:
originalValue
- the original value from the properties source (properties file or local "properties")- Returns:
- the converted value, to be used for processing
- See Also:
-
processProperties
protected abstract void processProperties(ConfigurableListableBeanFactory beanFactory, Properties props) throws BeansException Apply the given Properties to the given BeanFactory.- Parameters:
beanFactory
- the BeanFactory used by the application contextprops
- the Properties to apply- Throws:
BeansException
- in case of errors
-