在编译时验证application.yml中的属性名称



我想检查是否可以在编译时而不是在运行时验证属性名称。我的应用程序.yml需要像这样的数据-

john:
firstName: John
lastName: Doe
age: 30
address: efghhhhh
email: john.doe@gmail.com

我的ApplicationProperties.java是这样的-

@Data
@Configuration
@PropertySource(value = "classpath:employee.yml", factory = YamlPropertySourceFactory.class)
public class ApplicationProperties {
private Employee john;
}

我的控制器得到这样的数据-

private final ApplicationProperties applicationProperties;
applicationProperties.getJohn();

我想确保如果有人错误地更改了";约翰;至";joohn";,它应该在编译时抛出一个错误。现在编译工作正常,并且在运行时抛出一个NullPointerException。是否可以对属性名称进行编译时检查?如果是,请告诉我该怎么做?

谢谢!

不是在编译时,但您可以通过为道具创建@Validated @ConfigurationProperties(prefix = "john")并将@NotNull等验证规则放在相关属性之上来确保应用程序快速失败。

请参阅此处了解更多信息。

相关内容

  • 没有找到相关文章

最新更新