如何从属性文件中读取列表?

时间:2013-06-06 04:44:35

标签: java annotations

在我的abc.properties文件中,我有一个列表

xyz=cat,dog,cow,calf

我想从我的java代码中读取它。

我尝试了@Value注释

 @Value("${xyz}")  private String[] elementToSearch;

但显然我做错了,因为当我打印elementToSearch[0]时,我得到${xyz} 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

看起来您正在尝试使用Spring框架中的@Value注释。

实际上,我认为你做得对。您可能没有使用PropertyPlaceHolderConfigurer吗?

大部分时间我通过在Spring applicationContext.xml配置文件中添加类似内容来完成此操作:

    <!-- if you are using annotations -->
    <context:annotation-config/>

    <!-- if you are scanning for annotated beans -->
<context:component-scan base-package="com.example.package" />


<!-- Load override configuration from a property file. --> 
<bean id="propertyConfigurer"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
    <property name="ignoreResourceNotFound" value="true"/>
    <property name="locations">
        <list>
            <value>classpath:abc.properties</value>
                <value>file:/etc/someplace/abc.properties</value>
        </list>
    </property>
</bean>