【发布时间】:2018-10-26 01:56:48
【问题描述】:
这听起来可能很疯狂,但我正在尝试为我的以下数据结构获取属性文件
@Value("#{${myBigMap}}")
Map<String, List<Map<String, String>>> myBigMap;
属性文件应该是这样的
myBigMap = { \
"key1": [{subkey1:'subval1'}], \
"key2": [{subkey3:'subval3'},{subkey4:'subval4'}] \
}
我可以让地图的地图工作,但这个似乎太有弹性了。我有一些用于其他值注入的系统属性。不确定我是否可以手动将 yaml 属性组合到属性源中。
它不是 Spring Boot 应用程序。我们只是使用 Spring 进行依赖注入。
非常感谢任何帮助/线索
【问题讨论】:
-
不确定如何在 spring 中执行此操作,但您可以将其作为 json 字符串属性,然后将值注入字符串变量,然后使用 jackson 将其转换为您想要的任何数据结构跨度>
-
这是
@ConfigurationProperties的理想人选,这是您没有的 Spring Boot。您可以将属性作为 json 字符串注入到 bean 构造函数 String 参数中,然后使用 Jackson ObjectMapper 将其转换为地图。
标签: java spring data-structures properties