在我的abc.properties
文件中,我有一个列表
xyz=cat,dog,cow,calf
我想从我的java代码中读取它。
我尝试了@Value
注释
@Value("${xyz}") private String[] elementToSearch;
但显然我做错了,因为当我打印elementToSearch[0]
时,我得到${xyz}
任何帮助表示赞赏。
答案 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>