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

带点符号的Spring集成表达式映射访问

方茂
2023-03-14

通常在Spring EL中,您可以使用方括号中的键通过其键访问地图条目。如果spring集成消息的有效负载是java。util。映射,然后

payload['mykey'] 

提供以字符串“my key”为键的条目的值。

当使用标准Spring EL设置时,例如在单元测试中,这是使用地图的唯一方法。然而,在Spring integration flows使用的表达式中,我可以使用点符号进行映射访问。这是有效的:

payload.mykey

我希望能够在单元测试和路由定义中使用相同的Spring EL表达式。是什么让点符号在Spring集成中成为可能?我必须对EL解析器应用一些特殊选项吗?

共有1个答案

晏炳
2023-03-14

我在地图上找到了spring表达式语言的答案。我需要添加一个http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/expression/MapAccessor.html到评估环境。

 类似资料:
  • 我想使用SpEL来评估一些谓词。由于值/属性是动态的,我没有某个bean类。因此,我们有一个hashmap,其中(根据应用状态)键映射到不同的POJO/bean,例如: 我们希望通过设置变量来使用评估上下文,比如: 但这带来了一个例外: SpelEvaluationException:EL1007E:(位置0):在null上找不到属性或字段“person” 有人给我建议吗?

  • 以下各节讨论如何将表列和SQL表达式映射到各个对象属性。 映射表列 从属性名称清楚地命名列 从反射表自动化列命名方案 用前缀命名所有列 对列级别选项使用列属性 映射表列的子集 作为映射属性的SQL表达式 使用杂交种 使用列属性 在映射时从列属性合成 使用普通描述符 作为映射属性的查询时间SQL表达式 更改属性行为 简单验证器 在核心级别使用自定义数据类型 使用描述符和混合 同义词 操作员自定义 组

  • 2.密码必须至少包含一个大写字母、一个小写字母、一个数字和一个标点符号。(例如a-z,a-z,0-9,!@#$%^&*()_+~-=`{}[]:“;'<>?,./) 我尝试使用:{}:“;'<>?,./-][])$` 但是,当我在中测试时,标点符号部分的解释并不清楚 标点符号的解释好像坏了,可以解释一下原因并帮我完成这个。

  • 鉴于 和 如何在Orika中映射以下内容? 我需要定制的映射器或过滤器吗?

  • 这个问题不难,我已经用自己的方法解决了,但我想听听你的意见,也许有什么方法可以让这成为一个改进的选择?Java 8-11。