当前位置: 首页 > 知识库问答 >
问题:

带列表的地图在SpEL中的格式应该是什么

柯波峻
2023-03-14

我试图从spring批处理应用程序中的application.properties读取列表映射

ExpressionParser parser = new SpelExpressionParser();
Map<String, List<String>> mapOfLists = (Map<String, List<String>>) parser.parseExpression("{'KEY1':{'value1','value2'},'KEY2':{'value3','value4'},'KEY3': {'value5'}}").getValue();

我没有读到spring是如何解析值的,但有办法做到这一点吗?

另外,@value是从application.properties读取列表映射的好方法吗?

共有1个答案

尹弘壮
2023-03-14

试试这个:

@Value("#{${map-of-lists}}")
private Map<String, List<String>> mapOfLists;

Application.Properties

 map-of-lists="{'KEY1':{'value1','value2'}, 'KEY2':{'value1','value2'}}"
 类似资料:
  • 我们有学生的地图记录

  • 我正在做一个类项目的游戏,有人建议我用一个图ADT来表示世界地图上的一组领土,这样每个顶点都是一个领土,边代表玩家可以在其中移动的相邻领土。我找到了一个很好的图形ADT(JGraphT)Java库,但我完全不知道什么类型的边应该是... 例如,界面明确要求我为顶点定义一个对象类型(我认为使用我的类型非常有意义),但是边应该是什么?我想不出有什么对象类型可以作为边缘使用。

  • 如果我想要获得性别=0和用户类型=1的所有记录的列表,我的查询应该是什么?我对firebase相当陌生,我找不到任何教授复合一些查询的来源。

  • 虽然我看过OpenAPI规范中的例子: 我不明白为什么使用是地图/字典的正确模式。 规范中关于的唯一具体内容是: 以下属性取自JSON模式定义,但它们的定义已根据Swagger规范进行了调整。它们的定义与JSON模式中的定义相同,只有在原始定义引用JSON模式定义的情况下,才会使用模式对象定义。 项目 allOf 属性 附加属性

  • 我正在使用推土机从一个对象映射到另一个对象。我知道Dozer可以做递归映射,但也许我对Dozer施加了太大的压力:p我想从类a映射到类B 当我从A映射到B时,我得到了一个B的实例,但在映射中我得到了一个ObjectA的列表。明确地说,我得到了这个(想象的)对象的一个实例: 如何使推土机正确执行此映射? 注意:ObjectA和ObjectB具有相同的属性(以及int和字符串)。

  • 问题内容: 我没有用Java理解Maps。建议何时使用地图而不是列表? 提前致谢, 无人 问题答案: Java映射:将键映射到值的对象。映射不能包含重复的键;每个键最多可以映射到一个值。 Java列表:有序集合(也称为序列)。该界面的用户可以精确控制列表中每个元素的插入位置。用户可以通过其整数索引(列表中的位置)访问元素,并在列表中搜索元素。 不同之处在于它们是不同的。映射是键/值的映射,是项列表