gpt4 book ai didi

java - Spring Boot - 使用自定义 yml 标签扩展 yml 配置

转载 作者:行者123 更新时间:2023-12-05 06:13:55 27 4
gpt4 key购买 nike

我需要在 application.yml 中使用 yaml anchor 引用和字符串连接对于 Spring Boot 应用程序。动机是重用现有配置而不是复制它们。例如,我们有以下 application.yml :

sources:
- filter:
expression: &mainFilter
level > 100
- filter:
expression: *mainFilter
- filter:
expression: *mainFilter and level < 200

我需要将其解析为以下内容:

sources:
- filter:
expression: &mainFilter
level > 100
- filter:
expression: level > 100
- filter:
expression: level > 100 and level < 200

expression: *mainFilter将被正确解析,因为它是 yml anchor ,但是 expression: *mainFilter and level < 200将不起作用,因为 yml 不支持带连接的 anchor (应用程序将在应用程序启动时失败)。根据yml string concatenation with custom tags , yml 具有我们可以定义的自定义标签的概念,例如 expression: !concat [*mainFilter, 'and level < 200'] .是否可以在 Spring Boot yml 配置中定义和注册我们自己的自定义标签?

最佳答案

我有同样的需求——从现有的属性值组合新的属性值——在像你一样首先想到它需要自定义标签之后,在 Spring 你可以使用 property placeholders相反:

mainFilter: "level > 100"
sources:
- filter:
expression: ${mainFilter}
- filter:
expression: "${mainFilter} and level < 200"

关于java - Spring Boot - 使用自定义 yml 标签扩展 yml 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63136010/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com