我以前在其他项目中也有过这个工作,我只是在重新做同样的事情,但由于某种原因它不起作用。Spring@Value
不是从属性文件中读取,而是从字面上获取值
AppConfig.java
@Component
public class AppConfig
{
@Value("${key.value1}")
private String value;
public String getValue()
{
return value;
}
}
应用程序上下文.xml:
<context:component-scan
base-package="com.test.config" />
<context:annotation-config />
<bean id="appConfigProperties"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:appconfig.properties" />
</bean>
appconfig.properties
key.value1=test value 1
在我的控制器中,我有:
@Autowired
private AppConfig appConfig;
应用程序启动得很好,但是当我这样做时
appConfig.getValue()
它返回
${key.value1}
它不会解析为属性文件中的值。
想法?