我在我的应用程序中使用Spring,有一个.properties文件定义了一些值。
在一个Java类中有一个字符串值:
@Value("${test}")
public String value;
重点是,如果我在bean定义中注入这个值:
<bean id="customClass" class="package.customClass.CustomClassImpl">
<property name="value" value="${test}"></property>
</bean>
这段代码本来是可以正常工作的,但如果我使用@Value
注解,那么总是返回null
。这是为什么呢?
不过,我没有使用"new
"实例化"customClass
",而是通过context.getBean("customClass")
获取它。
编辑:我已经在上下文中配置了属性占位符。
<bean id="properties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:config.properties</value>
<value>classpath:constants.properties</value>
</list>
</property>
</bean>
提前感谢您。