我有一個沒有合理默認值的設定;如果未提供設定,我希望我的應用程式拒絕啟動。在 Spring Boot 中是否有一種自然的方法來實作這一點?
在我的application.yml我使用這樣的語法:
mySetting: "${MY_ENV_VAR}"
如果我不設定MY_ENV_VAR環境變數,應用程式將繼續啟動并拋出一個有點模糊的錯誤。
是否有推薦的方法來表達我的意圖,即此設定是強制性的?
uj5u.com熱心網友回復:
您可以使用該@ConfigurationProperties注解來注冊一個帶有該mySetting屬性的類。
然后,您可以將此屬性標記為@NotNull。另請參見此處。
uj5u.com熱心網友回復:
通常你有一個屬性application.yaml,你需要在應用程式中的某個地方作為字串或整數或其他基本型別。
然后,您稍后通過@Value在組件內部使用 using在應用程式中使用該屬性。
例如,以下代碼是需要此值的組件,您可以將組件標記@Validated為考慮驗證注釋,然后在需要使用值 mySetting 的特定屬性上使用@NotBlank. 非空白表示非空字串和非空字串。
如果驗證失敗,組件初始化將失敗,因此應用程式背景關系將無法完成,啟動將失敗,并出現指向此屬性的相對錯誤。
@Component
@Validated
public class MyComponent {
@NotBlank
@Value(${mySetting})
private String mySetting;
....
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/395188.html
標籤:弹簧靴
