2011-08-02 18 views
20

Sposób instrukcji warunkowej w pliku konfiguracyjnym sprężynyInstrukcja warunkowa w konfiguracji Spring

Mam String bean (b), którego wartość zależy od wartości właściwości (a). a jest ustawiane dynamicznie w zależności od środowiska, w którym działa.

if (a) 
b="yes" 
else 
b="no" 

Jak mogę to zakodować w konfiguracji wiosennej?

+0

jeejava.com/conditional-statement-in-spring-config/ – user3470953

Odpowiedz

25

Jak powiedział Ryan, SpEL może pomóc. Powinieneś być w stanie zrobić coś takiego w wiosennym xml:

<bean id="flag" class="java.lang.Boolean"> 
    <constructor-arg value="#{ systemProperties['system.propery.flag'] ?: false }" /> 
</bean> 

<bean id="bean" class="com.my.MyBean"> 
    <property name="property" value="#{ flag ? 'yes' : 'no' }"/> 
</bean> 
1

Spróbuj tego ... To działa .. Biorąc Roll, lokalizacja, nazwa jest w pliku właściwości i czytam ją powyżej tej linii.

<bean id="Student" class="beans.Student"> <property name="name" value="#{ ${Roll}== 1 ? '${Location}' : '${name}' }"/> </bean>

0

poniżej pracuje dla mnie. właściwość systemu przekazywane jako java -Dflag = true -jar project.jar

<bean id="flag" class="java.lang.Boolean"> 
    <constructor-arg value="#{ systemProperties['flag'] ?: false }" /> 
    </bean> 

    <bean id="bean" class="com.my.MyBean"> 
    <property name="property" value="#{ flag ? 'yes' : 'no' }"/> 
</bean> 
Powiązane problemy