【发布时间】:2021-04-05 00:13:14
【问题描述】:
这是我的 yaml 配置
a:
b1: '1'
b2: '2'
b3:
c1: '3'
b4:
c2: '4'
我怎样才能得到一个javaBean
class JavaBean{
Map<String, String> map = new HashMap<>();
}
当我得到这个 bean 时,这个映射值就像
{"a.b1":"1","a.b2","2","a.b3.c1","3","a.b4.c2":"4"}
【问题讨论】:
-
如果将整个yaml文件转换成
Map<String, String>,结果还是很合理的。你能指望什么?如果您想让a:下方的所有内容成为地图的一部分,您可以使用您的配置将@ConfigurationProperties(prefix="a")提供给我们,但第三级仍将包含b3.c1和b4.c2,因为您将多级结构映射到只是一个键值结构。 -
@RainerJung,
@ConfigurationProperties用于读取属性文件而非 yaml 文件的注释。如果我错了,请纠正我。 -
@Shakthifuture relaxed binding
-
我想得到一个以'a'开头的键的地图,我尝试使用@ConfigurationProperties(prefix="a"),但是为什么地图是空的
标签: java spring-boot yaml