Springboot中使用@Value获取值为空如何解决

这篇文章将为大家详细讲解有关Springboot中使用@Value获取值为空如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在spring中,常常使用 @Value("${property}") 从application.properties中取值,需要注意两点

使用 @Value 的类不能使用 new 关键字进行实例化对象,必须采用 依赖注入的方式进行实例化

不能使用显式的构造方法

否则,将取不到值.解决方法如下:

  删除显式的构造方法,需要使用构造方法初始化的内容可以使用@PostConstruct

@PostConstruct //加上该注解表明该方法会在bean初始化后调用private void init() {  //添加你的内容}

  使用构造方法注入

public LogConsumer(@Value("${report.period}") long reportPeriod) {    this.reportPeriod = reportPeriod;    System.out.println(reportPeriod + "1111111111111111111111111111111111111111");  }

关于Springboot中使用@Value获取值为空如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。