【问题标题】:How to test application yml resource file settings that uses Spring Boot?如何测试使用 Spring Boot 的应用程序 yml 资源文件设置?
【发布时间】:2019-10-11 06:18:18
【问题描述】:

例如,我有一些设置,例如 Spring Boot Actuator 使用的代码。

management:
  server:
    port: 60001
  security:
    enabled: false

我发现如果我写这个设置会出错。例如(下面的代码):

management:
  server:
    port: 60001
  security:
    enabled: fase # wrong typed a `false` word

Spring Boot 不会做任何事情,应用程序已经构建成功。

【问题讨论】:

  • 这取决于从应用程序 yml 读取属性的代码是如何实现的。只要你的 yml 文件在语法上是正确的,应用程序就会正确构建(没有明确抛出异常)。

标签: spring spring-boot spring-boot-actuator


【解决方案1】:

只要 @ConfigurationProperties 存在于核心中,Spring boot 就会验证数据。问题是您的 @ConfigurationProperties 在您的 Spring Boot 版本之前可能不存在或已被弃用。

下面是management.server 类与@ConfigurationProperties 的比较。 尝试使用字符串和弹簧引导更改端口并验证数据。

如果您使用 spring boot 2,请查看 ManagementContextAutoConfiguration.class,您会看到它加载了类 ManagementServerPropertiesWebEndpointProperties

如果您仍需要验证您的 yaml,您可以参考SnakeYAML

【讨论】:

    猜你喜欢
    • 2018-06-20
    • 1970-01-01
    • 2017-01-03
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 2020-08-28
    • 2018-06-28
    相关资源
    最近更新 更多