如何通过application.properties传递map <String,Map <String,Integer >>

时间:2019-11-20 14:16:40

标签: java spring spring-boot

当我进入application.properties时:

config.map-of-map.Key1.Key2=111

这不能与变量匹配:

Map<String, Map<String, Integer>> mapOfMap;

什么是课程的一部分

@ConfigurationProperties(prefix = "config")
public MyClass getMyClass() {
    return new MyClass();
}

当我想从该映射中读取数据时,我读取了String而不是Integer并得到了异常:

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

有什么方法可以将其强制为Integer吗?

1 个答案:

答案 0 :(得分:0)

我不知道为什么这个问题的投票如此之多。 但是我要做的就是升级spring boot版本。

我使用的是2.1.1.RELEASE版本 但在2.2.1.RELEASE版本中,它也可以在地图中解析Integer。然后,我只需遵循此example进行嵌套地图映射