2011-09-01 5 views
0

저는 스프링 (3.1)을 처음 사용하고 완전히이 문제로 어려움을 겪었습니다. PropertyPlaceholderConfigurer을 사용하여 속성 값 "schdestination"에 액세스하려고합니다.이 속성 파일은 두 개의 속성 파일 (다른 하나를 무시)에 정의되어 있습니다.PropertyPlaceholderConfigurer에서 여러 속성 파일을 사용하여 속성에 액세스

클래스에서 필드를 설정하기 위해 @Value를 사용하고 싶습니다. 다른 빈을 사용하지 않고 @Value를 사용하여이를 수행 할 방법을 찾을 수 없습니다. 여기 내 봄 XML 스 니펫

<bean id="placeholderProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
     <list> 
      <value>/WEB-INF/abc.properties</value> 
      <value>/WEB-INF/loc.abc.properties</value> 
     </list> 
    </property> 
    <property name="ignoreUnresolvablePlaceholders" value="true" /> 
    <property name="order" value="1" /> 
</bean> 

실마리를주십시오.

답변

1
@Value("${schdestination}") 
private String destination; 

이 작동해야합니다.

+0

이것은 내가 무엇을하려하지만 어떻게 든 문자열 값이 돌아옵니다 : 변수 대상이 "$ {schdestination}"값이고 속성 파일의 경로가 아닙니다 ... –

+0

어떤 구성 파일에서 구성자를 정의합니까? – Bozho

+0

applicationContext.xml –

0

@Value이 포함 된 클래스는 @Component으로 주석을 달고 applicationContext.xml에 <context:component-scan/>이 있어야합니다.

0

웹 앱에서 사용하고 계십니까? 그게 내 사건 이었어. 응용 프로그램 컨텍스트에서 속성 파일을로드하고 있었는데 어떻게 든 웹 응용 프로그램 패키지에 표시되지 않았습니다. 컨트롤러가 정확해야합니다. servlet-context.xml에서 다시 선언해야합니다. 그런 다음 표시되고 제대로 작동합니다. 나는 정말로 누군가가 어떤 일이 벌어 질지 또는 그것이 정말로 봄에 해결되어야 할 문제인지를 밝힐 수 있기를 바라고 있습니다.

관련 문제