簡體   English   中英

Spring boot 訪問組件中的 application.properties

[英]Spring boot access application.properties in components

我想在我的 Spring Boot 應用程序的 application.properties 中添加一個屬性,並能夠訪問它並在我的其他類之一中使用它,但我得到了空值。

這是我的 application.properties

server.port=8052
subscribe.period=5

我的班級將訪問它

@Component
public class SubscriptionService {

    @Value("${subscribe.period}")
    private String period

    @Autowired
    public SubscriptionService(String period) {
        String time = period;
        ...
    }

}

但似乎期間沒有被填充,實際上是空的。 當我至少在 Eclipse 中以 maven build 運行時,它顯示為 nill,我認為它可能會在甚至加載屬性文件之前嘗試訪問它,如果是這樣,我該如何處理?

上面評論中的 Deinum 是正確的。 我不知道為什么,因為它與我讀過的所有其他在線示例不同,所以我會邀請他給出解釋。

我不得不將@Value 放在構造函數的參數中

@Component
public class SubscriptionService {

private String period

@Autowired
public SubscriptionService(@Value("${subscribe.period}") String period) {
    String time = period;
    ...
}

}

然后它工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM