Spring Boot 2将YAML文件中的嵌套属性展平

时间:2018-09-14 15:44:41

标签: spring spring-boot

假设我有一个Spring Boot 2项目的application.yml文件,其中包含该对象用于不同服务的一些副本:

foo:
  circuitBreaker:
    retryConfig:
      retryConditions:
        predicateNames: []
      abortConditions:
        predicateNames: []
    breakConfig:
      failureDefinition:
        predicateNames:
          - errorResponse
bar:
  circuitBreaker: 
    ...

(缩写为其他字段)我为RetryConfig提供了一个类,为BreakConfig提供了一个类,然后为它们都使用的第三类称为TriggerDefinition。

此外,我对重试配置对象进行了验证,该重试配置对象说重试和中止不能使用相同的谓词名称。

由于某种原因,Spring正在查看此对象,并将predateateNames字段的 all 分配给“ errorResponse”,而不仅仅是失败定义一个,然后验证失败。

为了使事情变得更奇怪,它仅对与该对象无关的类进行集成测试。 FooTest可以正确解析此对象,但是BarTest在尝试为foo加载应用程序上下文 时失败。

我如何让Spring为每个值获取正确的值,而不是将它们全部弄平并为predicateNames取一些不适用的列表?

0 个答案:

没有答案