[英]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.