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