Here is part of my web.xml:
contextConfigLocation
clas
Totally agree with axtavt. So all the info combined the most simple solution with Spring 3.0 thus is:
<context:property-placeholder location="#{contextParameters.propertiesLocation}"/>
with
<context-param>
<param-name>propertiesLocation</param-name>
<param-value>classpath:properties/db.properties</param-value>
</context-param>
in web.xml.
Yes, you can use ServletContextParameterFactoryBean
to expose context-param
value (it also requires full form of PropertyPlaceholderConfigurer
instead of simple context:property-placeholder
):
<bean id = "myLocation" class =
"org.springframework.web.context.support.ServletContextParameterFactoryBean">
<property name="initParamName" value = "myParameter" />
</bean>
<bean class =
"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" ref = "myLocation" />
</bean>
Or use Spring 3.0's EL:
<bean class =
"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value = "#{contextParameters.myParameter}" />
</bean>