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 的類加載機制和創建對象過程比較熟悉的,可能很快就能明白原因在那裏。

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