Spring Boot中获取配置文件的值

前段时间使用 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 的类加载机制和创建对象过程比较熟悉的,可能很快就能明白原因在那里。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章