【发布时间】:2017-06-14 10:42:09
【问题描述】:
我在 /src/main/resources/ 下有一个属性文件,我想使用 Spring 从中加载数据。
在我的 Spring-context.xml 我有这个:
<context:property-placeholder location="classpath:UserUtil.properties" />
还有<context:component-scan base-package="com.myApp" />
在我的课堂上,我像这样加载它:
@Value("${injectMeThis}")
private String injectMeThis;
但值始终为空
编辑:
要检查该值,我用这个:
System.out.println(new myClass().getInjectMeThis());
【问题讨论】:
-
在 UserUtil.properties 中有
injectMeThis=someValue吗? -
是的,我查过了,值在那里
-
如果你做得对,它不可能是
null。您是在使用 spring 托管实例,而不是使用new YourClass()自己创建实例吗? -
如果您自己创建类的实例(包含
@Value注释的类),则不会替换任何内容。 -
您正在自己创建一个新实例,Spring 应该如何替换其中的值。您应该创建应用程序上下文的实例并从那里检索 bean。
标签: java spring spring-mvc