我试图在变量上使用@Value注释来分配值,但获得的值为null。我究竟做错了什么?我正在使用@Spfiguration的java spring配置。我也使用@PropertySource指向属性文件。
@Configuration
@PropertySource("classpath:application.properties")
public class SpringConfiguration {
@Value("${app_prop_1}") Integer aValue;
@Bean
public Integer getInteger() {
return new Integer(aValue); // throws NullPointerException
}
}
application.properties文件位于项目的maven资源文件夹中。它有以下内容:
app_prop_1=2000
答案 0 :(得分:3)
添加@Value
注释时,需要添加
//To resolve ${} in @Value
@Bean
public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
return new PropertySourcesPlaceholderConfigurer();
}
这将解析${}
表达式。