복붙노트

[SPRING] spring3 @Value를 사용하여 PropertyPlaceholderConfigurer 값에 액세스 하시겠습니까?

SPRING

spring3 @Value를 사용하여 PropertyPlaceholderConfigurer 값에 액세스 하시겠습니까?

내 속성 소스가 PropertyPlaceholderConfigurer의 하위 클래스 일 때 @Value를 사용하여 스프링 빈에서 문자열 값을 설정하려고합니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?

해결법

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

    1.오래된 질문이지만 여전히 답을할만한 가치가 있습니다. 표현식은 원래 PropertyPlaceholderConfigurer에서와 같은 방식으로 사용할 수 있습니다.

    오래된 질문이지만 여전히 답을할만한 가치가 있습니다. 표현식은 원래 PropertyPlaceholderConfigurer에서와 같은 방식으로 사용할 수 있습니다.

    app.properties

        app.value=Injected
    

    app-context.xml

        <bean id="propertyConfigurer" class="MyPropertyPlaceholderConfigurer">
          <property name="location">
            <value>file:app.properties</value>
          </property>
        </bean>
    

    대상 빈에서

        @Value(value="${app.value}")
        private String injected;
    

    Spring 3.0.6을 사용하여이 접근법을 테스트했다.

  2. ==============================

    2.속성 구문을 사용하여 Bean 정의 파일의 값을 명시 적으로 주입하여 작동하도록 만들었습니까? 이론적으로, 그것이 작동하면 @Value에서 같은 표현식을 사용할 수 있어야합니다. 그 문제에 관해서는 @Autowired @Qualifier를 사용하여 할 수 있어야합니다.

    속성 구문을 사용하여 Bean 정의 파일의 값을 명시 적으로 주입하여 작동하도록 만들었습니까? 이론적으로, 그것이 작동하면 @Value에서 같은 표현식을 사용할 수 있어야합니다. 그 문제에 관해서는 @Autowired @Qualifier를 사용하여 할 수 있어야합니다.

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

    3.@Value 주석에서 SPEL을 사용하여 PropertyPlaceHolderConfigurer가로드 한 속성에 액세스 할 수 없다고 생각합니다. 그것은 좋지만, 내가 아는 한 가장 좋은 것은 선언하는 것입니다.

    @Value 주석에서 SPEL을 사용하여 PropertyPlaceHolderConfigurer가로드 한 속성에 액세스 할 수 없다고 생각합니다. 그것은 좋지만, 내가 아는 한 가장 좋은 것은 선언하는 것입니다.

    <util:properties id="props" location="classpath:xxx/yyy/app.props"/>
    

    PropertyPlaceHolderConfigurer와 동일한 특성 파일을 가리킬 수 있습니다.

  4. from https://stackoverflow.com/questions/1741968/using-spring3-value-to-access-propertyplaceholderconfigurer-values by cc-by-sa and MIT license