如何用键和空值定义yml中的map?

时间:2017-07-18 12:35:44

标签: spring-boot yaml

我要求在yml属性中使用Map<String, Object>,但允许在地图中输入带有空值的键。

例如:

application.yml

....
init-services:
  sample-service-discovery:
    port: 8761
    profiles: dev,prod
  sample-config-server:
    port: 8888
    profiles: dev, test
  sample-activation-service:
  some-other-service:
    port: 1234
....

init-servicesMap<String, ServiceProperties>

ServiceProperties只是一个Integer port, List<String> profiles的POJO。

前两个条目的编译很好,但在sample-activation-service我得到Cannot convert value of type 'java.lang.String' to required type PathProperties$ServiceProperties例外。

问题:有没有办法允许在.yml映射中只有一个键,但null值为空?我需要稍后迭代密钥,即使它们的值为空。

1 个答案:

答案 0 :(得分:1)

我设法通过向'Address10.123.56.25', '789.356.441.561' '192.168.1.2.3'添加构造函数来解决此问题,该构造函数将String作为参数,并调用默认构造函数。

ServiceProperties