2011-09-01 63 views
0

我是新来的春天(3.1)和完全难倒这个问题。 我正尝试使用在两个属性文件(一个覆盖另一个属性文件)中定义的PropertyPlaceholderConfigurer来访问属性值“schdestination”。从PropertyPlaceholderConfigurer访问属性与多个属性文件

我想使用@Value在类中设置一个字段,我只是不能找到一种方法来做到这一点,而不使用另一个bean。这里是我的春天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

在什么xml文件是配置器定义? – Bozho

+0

applicationContext.xml –

0

包含@Value的类需要注释@Component,并且您的applicationContext.xml中需要有<context:component-scan/>

0

您是否在您的网络应用中使用它?那是我的情况。我从应用程序上下文加载属性文件,并且不知何故,它们在Web应用程序包 - 控制器中不可见。我不得不在servlet-context.xml中重新声明它们,然后它们可见并且工作得很好。我真的希望有人能够澄清一些可能发生的事情,或者这是否真的成为春季的一个问题。