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 f
In my case I was missing the curly braces. I had @Value("foo.bar") String value
instead of the correct form @Value("${foo.bar}") String value
I also found the reason @value
was not working is, @value
requires PropertySourcesPlaceholderConfigurer
instead of a PropertyPlaceholderConfigurer
. i did the same changes and it worked for me, i am using spring 4.0.3 release.
I configured this using below code in my configuration file -
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
Have a read of pedjaradenkovic's comment.
Further to the link he provides, the reason this isn't working is that @Value
processing requires a PropertySourcesPlaceholderConfigurer
instead of a PropertyPlaceholderConfigurer
.
In my case, static fields will not be injected.
Problem is due to problem in my applicationContext.xml vs spring-servlet.xml - it was scoping issue between the beans.
pedjaradenkovic kindly pointed me to an existing resource: Spring @Value annotation in @Controller class not evaluating to value inside properties file and Spring 3.0.5 doesn't evaluate @Value annotation from properties
I was using spring boot, and for me upgrading the version from 1.4.0.RELEASE
to 1.5.6.RELEASE
solved this issue.