我有以下 yml 配置:
foo:
bar.com:
a: b
baz.com:
a: c
Spring 尝试通过以下类注入(inject)带有键 'bar' 和 'baz' 的映射,将点视为分隔符:
public class JavaBean {
private Map<String, AnotherBean> foo;
(...)
}
我尝试引用 key (即“bar.com”或“bar.com”)但无济于事 - 仍然是同样的问题。有没有办法解决这个问题?
最佳答案
对@fivetenwill 的回答稍作修改,它适用于 Spring Boot 1.4.3.RELEASE:
foo:
"[bar.com]":
a: b
"[baz.com]":
a: c
您需要将括号放在引号内,否则 YAML 解析器基本上会在它们到达 Spring 之前将它们丢弃,并且它们不会使其成为属性名称。
关于spring - 在 Spring Boot 中的 Yaml 中转义 Map 键中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34070987/