3
如何在應用程序啓動期間檢查屬性文件中的值是否符合我的期望?直接註釋字段不起作用。 我使用的春天開機1.5.3.RELEASE,春天4.3.8.RELEASE在應用程序啓動過程中驗證@ Value-annotated字段
服務:
@Service
@Validated
public class ConfigService {
@URL
@Value("${checkout.url}")
private String checkoutUrl;
@Size(max = 26)
@Value("${checkout.payment-method}")
private String paymentMethod;
}
屬性文件(application.properties):
checkout.url=not-a-url-at-all
checkout.payment-method=CreditCardButMuchTooLongToQualifyForSizeValidator
作爲一個選項,您可以註釋這些字段的設置者(而不是直接註釋字段)並在這些設置者中進行全部驗證。然後,如果驗證失敗,則可以拋出錯誤。 –
@RomanProshin:在setter上設置驗證不起作用,我收到一個異常:交叉參數約束X沒有跨參數驗證器。 對方法的驗證是在返回值上執行的,對於安置者來說這是「無效」 – Zotov
驗證僅適用於'@ ConfigurationProperties'註釋類與使用'@ EnableConfigurationProperties'結合使用。 –