2011-08-02 19 views
20

Cómo tener sentencia condicional dentro de un archivo de configuración de la primaverasentencia condicional dentro de la primavera config

tengo Cadena de frijol (b) cuyo valor depende del valor de una propiedad (a). a se establece de forma dinámica en función del entorno que ejecuta.

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

¿Cómo puedo codificar esto en spring config?

+0

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

Respuesta

25

Como Ryan dijo SpEL puede ayudar. Usted debe ser capaz de hacer algo como esto en la primavera 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

probar este ... Funciona .. Dado rollo, la ubicación, el nombre de archivo se encuentra en la propiedad y estoy leyendo por encima de esta línea.

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

0

continuación está trabajando para mí. propiedad del sistema Java pasa como -Dflag = true project.jar-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> 
Cuestiones relacionadas