FunctionExpression
我们引入了 FunctionExpression 类(SpEL 的 Expression 接口的一个实现)以允许我们使用 lambdas 和 generics。为 DSL 组件提供了 Function<T, R> 选项,同时还提供了 expression 选项,当存在来自 Core Spring Integration 的隐式 Strategy 变体时。下面的示例展示了如何使用函数表达式。
.enrich(e -> e.requestChannel("enrichChannel")
.requestPayload(Message::getPayload)
.propertyFunction("date", m -> new Date()))
FunctionExpression 也支持运行时类型转换,这与 SpelExpression 中所做的一样。