如何测试使用Spring Boot的应用程序yml资源文件设置?

时间:2019-10-11 06:18:18

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

例如,我有诸如Spring Boot Actuator使用的代码之类的设置。

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

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

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

Spring Boot不会执行任何操作,并且应用程序将成功构建。

1 个答案:

答案 0 :(得分:0)

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

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

还要查看 ManagementContextAutoConfiguration .class,如果您使用的是Spring Boot 2,则会看到它加载了 ManagementServerProperties WebEndpointProperties

类>

enter image description here

如果您仍然需要验证Yaml,则可以参考SnakeYAML