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?
解决方案
推荐阅读
- doctrine-orm - 将实体与公用表中的 slug 关联
- html - 其他颜色的 Html 选项部分
- javascript - Gatsby 页面标题不会在页面更改时刷新
- jira - 如何在 Jira atlas 连接应用程序中进行云 REST API 调用
- angular - 无法使用角铯渲染折线
- javascript - ReactJS for 循环仅显示 firebase 查询中的最后一个值
- node.js - React Native CLI,找不到模块'/usr/local/lib/node_modules/react-native-cli/node_modules/prompt/lib/prompt'
- vue.js - 更改 Vuetify 上的标题默认字体
- algorithm - 我有两种用于 fib 问题的算法,1 需要 7 milsec,而其他算法需要 6 milsec,甚至第二种算法需要两次调用自身
- ios - 如何从 STPPaymentCardTextField 获取 YYYY 格式的到期年份