복붙노트

[SPRING] Spring 설정 내의 조건문

SPRING

Spring 설정 내의 조건문

Spring 설정 파일 내에 조건문을 갖는 방법

값이 속성 값 (a)에 따라 달라지는 String bean (b)이 있습니다. a는 실행 환경에 따라 동적으로 설정됩니다.

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

Spring config에서 이것을 어떻게 코딩합니까?

해결법

  1. ==============================

    1.Ryan이 SpEL이 도울 수 있다고 말한 것처럼. Spring XML에서 이와 같이 할 수 있어야한다.

    Ryan이 SpEL이 도울 수 있다고 말한 것처럼. Spring 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>
    
  2. ==============================

    2.Spring 3+ 용 Spring Expression Language를 참조하십시오. 그렇지 않으면 FactoryBean 또는 비슷한 것을 작성하는 데 어려움을 겪을 수 있습니다.

    Spring 3+ 용 Spring Expression Language를 참조하십시오. 그렇지 않으면 FactoryBean 또는 비슷한 것을 작성하는 데 어려움을 겪을 수 있습니다.

  3. ==============================

    3.이것을 시도하십시오 ... 그것은 작동합니다 .. 감안할 때 롤, 위치, 이름은 속성 파일에 있으며 나는이 줄 위에 읽고있다.

    이것을 시도하십시오 ... 그것은 작동합니다 .. 감안할 때 롤, 위치, 이름은 속성 파일에 있으며 나는이 줄 위에 읽고있다.

        

  4. ==============================

    4.아래 나를 위해 노력하고 있습니다. java로 전달 된 시스템 등록 정보 -Dflag = true -jar project.jar

    아래 나를 위해 노력하고 있습니다. 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>
    
  5. from https://stackoverflow.com/questions/6906863/conditional-statement-inside-spring-config by cc-by-sa and MIT license