Java 杂谈

@Value获取不到配置解决办法

2019-06-17  本文已影响2人  蔺荆门

在我们的spring boot项目中,经常会需要在代码里面获取配置文件里面的配置项。获取配置项的其中一种方式就是使用@Value注解。前几天在项目中遇到一个坑,就是取不到配置项的值,后面经过一番折腾之后解决了,特此写下一篇文章一来帮助他人,二来自己总结一下。

例如我们配置文件中这么写:

user:
  name: blablabl

那我们在代码里面可以这样取值:

@Value("${user.name}")
private String username;

有些朋友也像上面这样写了,但就是获取不到配置项。

大家可以按照下面写的原因逐一排查一下:

  1. 仔细检查一下拼写(如果是因为这个错了折腾半天真是有点冤枉)
  2. 查看Value注解的包有没有导入正确,正确的是import org.springframework.beans.factory.annotation.Value;
  3. 查看Value注解所在的类有没有注入到spring的容器中(使用@Controller、@Service、@Component、@Configuration等等注解,或者使用spring的配置文件),@Value注解必须要在spring的bean中才能使用,不能自己new一个对象调用
上一篇下一篇

猜你喜欢

热点阅读