0

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

xyz=cat,dog,cow,calf

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

我试过@Value注释

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

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

4

1 回答 1

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>
于 2013-06-06T05:14:32.343 回答