2012-11-08 2 views
6

Ich habe eine Properties-Datei in meinem xml definiert:Gibt es einen Weg, wenn ich in einem XML im Frühjahr mvc3 Bedingungen habe?

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location" value="/WEB-INF/db.properties"></property>  
</bean> 

Ich habe eine Immobilie in der Datei:

someprop = one 

Frage

In meinem XML würde Ich mag entweder hinzufügen/Entferne eine Eigenschaft in einer Bean-Definition. Zum Beispiel:

<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> 
    <property name="driverClassName" value="${jdbc.driverClassName}" /> 
    <property name="url" value="${jdbc.internal.url}" /> 
    <!--I want to add/remove the line below based on value in property file--> 
    <property name="username" value="${jdbc.internal.username}" /> 
</bean> 
+1

Könnte ich vorschlagen, stattdessen verschiedene Eigenschaftendateien für verschiedene Umgebungen zu haben. Das ist der "Standard" Weg, dies zu lösen. – pap

+0

das könnte auch funktionieren. Obwohl ich verwirrt bin, wie es bestimmt werden wird, welche man abgeholt wird? Muss ich einen Umgebungsnamen in Tomcat konfigurieren? Gibt es einen Link, der in die Tiefe geht? – birdy

+0

Wie auch immer, da dies XML ist und keine Eigenschaftendatei. Ich muss immer noch die XML-Datei ändern, wenn Sie von einem Env zum anderen bereitstellen. – birdy

Antwort

4

Dies könnte mit SpringEL möglich sein. Lesen Sie die Ausdruck Unterstützung für die Definition von Bean-Definitionen Abschnitt here.

Wenn dies mit mehreren Umgebungen zu tun hat, bietet Spring 3.1 bean definition profiles und Environment Abstraktionen.

+0

Ich habe diese Antwort in den von Ihnen vorgeschlagenen Links nicht gefunden. Wie wird das Profil ausgelöst? Sagen wir, ich habe zwei Profile, wo mache ich eine davon aktiv – birdy

+0

@ Birdy das aktive Profil kann auf mehrere Arten eingestellt werden. Siehe diesen Beitrag für weitere Informationen http://stackoverflow.com/questions/8587489/how-to-set-active-spring-3-1-environment-profile-via-a-properites-file-and-not-v –

Verwandte Themen