如何在 YML 中用值和子属性表示 Spring 属性?
Posted
技术标签:
【中文标题】如何在 YML 中用值和子属性表示 Spring 属性?【英文标题】:How to represent Spring properties, with a value and sub-properties, in YML? 【发布时间】:2021-03-28 15:32:37 【问题描述】:我正在使用一个使用嵌套属性进行配置的库。
例如
@Value("$foo.bar") String fooBar;
@Value("$foo.bar.baz") String fooBarBaz;
这可以在以下属性文件中成功表示:
foo.bar=abc
foo.bar.baz=xyz
但是,我一直无法找到在 YML 文件中表示此内容的方法。这甚至可以做到吗? 我尝试了以下方法:
// Invalid (ScannerException).
foo:
bar: abc
baz: xyz
// Invalid (NullPointerException).
foo:
bar:
~: abc
baz: xyz
// Invalid (DuplicateKeyException).
foo:
bar: abc
bar:
baz: xyz
【问题讨论】:
【参考方案1】:实际上,我刚刚意识到这可以通过将嵌套折叠到键中来完成。
例如
foo:
bar: abc
bar.baz: xyz
【讨论】:
以上是关于如何在 YML 中用值和子属性表示 Spring 属性?的主要内容,如果未能解决你的问题,请参考以下文章
Cloud Spring Boot 如何使用 yml 文件中的属性
Python:如何在所有文件、文件夹和子文件夹的名称中用下划线替换空格?
Spring Boot - 如何通过实现 BeforeAllCallback 的自定义扩展类设置或覆盖 application.yml 中定义的属性?