3 Stimmen

Ist es möglich, .properties-Dateien in web.xml in Verbindung mit dem Parameter contextConfigLocation zu verwenden?

Hier ist ein Teil meiner web.xml:

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:application-config.xml
        </param-value>
</context-param>

application-config.xml verwendet Eigenschaft Platzhalter:

<context:property-placeholder location="classpath:properties/db.properties"/>

Ist es möglich, irgendwie zu definieren, welche Eigenschaften-Datei in web.xml statt in application-config.xml zu verwenden?

4voto

axtavt Punkte 233070

Ja, Sie können die ServletContextParameterFactoryBean zu entlarven context-param Wert (er erfordert auch die vollständige Form von PropertyPlaceholderConfigurer anstelle von einfachen 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>

Oder verwenden Sie den EL von Spring 3.0:

<bean class = 
    "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value = "#{contextParameters.myParameter}" />
</bean>

4voto

Oliver Drotbohm Punkte 75339

Völlig einverstanden mit axtavt. So alle Informationen kombiniert die einfachste Lösung mit Spring 3.0 so ist:

<context:property-placeholder location="#{contextParameters.propertiesLocation}"/>

mit

<context-param>
   <param-name>propertiesLocation</param-name>
   <param-value>classpath:properties/db.properties</param-value>
</context-param>

in web.xml.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X