在Spring Boot中使用自定义YAML文件初始化对象

时间:2018-04-24 15:58:46

标签: java spring-boot yaml

我有一个Spring Boot项目,在resources文件夹中有两个YAML文件:

  • application.yml
  • metrics.yml

metrics.yml看起来像这样:

metrics:
    activeMetrics:
        -   type: TYPE_A
            value: 10
        -   type: TYPE_B
            value: 5

它的类看起来像这样:

@Data
@Component
@ConfigurationProperties("metrics")
public class ActiveMetrics {
    private final List<Metric> activeMetrics = new ArrayList<>();
}

主类注释为:

@PropertySources({
        @PropertySource("classpath:/metrics.yml"),
        @PropertySource("classpath:/project.yml")
})

应用程序启动后,activeMetrics列表为空,但是,如果我在application.yml内放置相同的配置,则列表会成功初始化。

metrics.yml也已成功加载,因为当路径不正确时,Spring Boot会抛出异常。

如何使用第二个YAML文件初始化此bean?

0 个答案:

没有答案