所以我有一個application.yml
文件爲我的春季啓動應用程序,像這樣:春季啓動公約變量
spring:
url: localhost
email:
from: [email protected]
app:
uuid: 3848348j34jk2dne9
我想在我的應用程序連線這些配置的屬性分爲不同的組件,像這樣:
@Component
public class FooA {
private final String url;
public FooA(@Value("${spring.url}") String url) {
this.url = url
}
}
@Component
public class FooB {
private final String from;
public FooA(@Value("${email.from}") String from) {
this.from = from
}
}
@Component
public class FooC {
private final String uuid;
public FooA(@Value("${app.uuid}") String uuid) {
this.uuid = uuid
}
}
上述工作正如我的應用程序中預期的那樣。但我的問題是,如果這是春季啓動的最佳做法。我所知道的唯一另一種替代方法是使用Properties
對象,方法是在配置類中創建一個bean,使用所有配置變量加載屬性,並將屬性bean自動裝入組件。
這種情況下的最佳做法是什麼?
我不認爲理查德正在考慮使用'@ConfigurationProperties'。我讀他的問題的方式,他正在考慮在他的'@Configuration'類中手動創建和填充一個bean。所以'@ConfigurationProperties'將是一個很大的改進。另外,如果添加spring-boot-configuration-processor,則可以爲IDE生成配置元數據,以用於自動完成/驗證/文檔,這非常酷! –