通常在Spring EL中,您可以使用方括号中的键通过键访问映射条目。如果弹簧集成消息的有效负载是java.util.Map
,则
payload['mykey']
为您提供以字符串"my-key"作为键的条目的值。
当使用标准的Spring EL设置时,例如在单元测试中,这是使用地图的唯一方法。但是,在 Spring 集成流使用的表达式中,我可以使用点表示法进行映射访问。这有效:
payload.mykey
我希望能够在单元测试和路由定义中使用相同的 Spring EL 表达式。是什么让点符号在 Spring 集成中成为可能?我是否必须对 EL 解析器应用一些特殊选项?
我在 Map 中找到了弹簧表达式语言的答案。我需要向评估上下文添加 http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/expression/MapAccessor.html。