SpringBoot使用@Value注入配置的值为null


SpringBoot使用@Value注入配置的值为null

原因: 产生本问题的原因大致可分为四类

  1. 不能作用于静态变量(static);

  2. 不能作用于常量(final);

  3. 不能在非注册的类中使用(类需要被注册在spring上下文中,如用@Service,@RestController,@Component等);

  4. 使用这个类时,只能通过依赖注入的方式,用new的方式是不会自动注入这些配置的。

我本人就是犯了第四个错误。
在这里插入图片描述
如图所示,我明明把Btest交给spring容器去管理了,但是我还是去new它了。所以就导致了注入无效。

解决: 在用到Btest的地方都用@Autowired来注入。 修改后的代码如下:

在这里插入图片描述

反思: 还是对某些注解理解的不够深刻。


文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录