It does but a format is a little awkward.
```
Map<Object,String> map = new HashMap<Object, String>();
map.put("key1", "value1");
ExpressionParser parser = new SpelExpressionParser();
StandardEvaluationContext context = new StandardEvaluationContext();
Expression expression = parser.parseExpression("[key1]");
String value = expression.getValue(context, map, String.class);
```
You can still use `[key1]` to access the map values but having a change to use just `key1` will make the expression less verbose.

One other thing about these custom method executors and property accessors is that it's still about 2-3 times faster than native spel via reflection. There's two perf tests here https://github.com/jvalkeal/spring-hadoop/blob/SHDP-334-map/spring-hadoop-store/src/test/java/org/springframework/data/hadoop/store/expression/MessageExpressionMethodsTests.java

In a case of a Message as a partition key, 'headers.timestamp` is same as `timestamp`.