如果定义了未知属性,启动过程中会失败吗?
Fail during startup if unknown properties are defined?
我正在使用 spring 引导配置属性和可选 属性:
@ConfigurationProperties("my.properties")
public class MyProperties {
List<String> optional = new ArrayList(); // optional property
// getters/setters
}
当我的 application.yml 中定义了 属性 而我的属性 class 中没有定义时,我希望我的应用程序在启动期间失败,因为这可能是由拼写错误,因此可以防止在配置应用程序时出错。例如:
my:
properties:
optional2:
- foo
- bar
这是否可能,例如通过设置标志?
您可以在 @ConfigurationProperties 注释中将 ignoreUnknownFields 设置为 false (@ConfigurationProperties(value = "foo", ignoreUnknownFields = false))。
如果你愿意,当 java class 上没有对应的字段时 属性 会抛出异常(就像你的 optional2 属性示例)。
参见:https://tedblob.com/configurationproperties-ignoreunknownfields/
The @ConfigurationProperties provide an optional element ignoreUnknownFields using which you can ignore or throw errors for the unknown fields during binding the properties.
我正在使用 spring 引导配置属性和可选 属性:
@ConfigurationProperties("my.properties")
public class MyProperties {
List<String> optional = new ArrayList(); // optional property
// getters/setters
}
当我的 application.yml 中定义了 属性 而我的属性 class 中没有定义时,我希望我的应用程序在启动期间失败,因为这可能是由拼写错误,因此可以防止在配置应用程序时出错。例如:
my:
properties:
optional2:
- foo
- bar
这是否可能,例如通过设置标志?
您可以在 @ConfigurationProperties 注释中将 ignoreUnknownFields 设置为 false (@ConfigurationProperties(value = "foo", ignoreUnknownFields = false))。
如果你愿意,当 java class 上没有对应的字段时 属性 会抛出异常(就像你的 optional2 属性示例)。
参见:https://tedblob.com/configurationproperties-ignoreunknownfields/
The @ConfigurationProperties provide an optional element ignoreUnknownFields using which you can ignore or throw errors for the unknown fields during binding the properties.