I've had this working in some other project before, I am just re-doing the same thing but for some reason it's not working. The Spring @Value is not reading from property file, but instead it's taking the value literally
AppConfig.java
@Component
public class AppConfig
{
@Value("${key.value1}")
private String value;
public String getValue()
{
return value;
}
}
applicationContext.xml:
base-package="com.test.config" />
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
appconfig.properties
key.value1=test value 1
In my controller, where I have:
@Autowired
private AppConfig appConfig;
The application starts just fine, but when I do
appConfig.getValue()
it returns
${key.value1}
It doesn't resolve to the value inside the properties file.
Thoughts?
解决方案
Problem is due to problem in my applicationContext.xml vs spring-servlet.xml - it was scoping issue between the beans.