Spring Boot中获取配置文件的值

  • Post author:
  • Post category:其他


前段时间使用

Spring Boot

在开发一个需求,要求将一些参数做成可配置化的,于是顺理成章地将参数放入

application.properties

文件中。

YD.APP_ID=app20

要获取

application.properties

中的属性值,最简单的方式是使用

@Value

注解

@Value("${YD.APP_ID}")
private String appId;

这个时候我有一个类 App,它有一个构造方法会初始化一些东西,并使用到

appId

这个属性值

@Repository
public class App{
  @Value("${YD.APP_ID}")
  private String appId;
  public App(){
    // ...init
    print(appId);
  }
}

这里会打印

appId

的值为

null

,原因是

属性注入发生在构造方法之后

这种问题其实很困扰人的,如果你对 Java 的类加载机制和创建对象过程比较熟悉的,可能很快就能明白原因在那里。



版权声明:本文为mkii_hong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。