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 中所做的一样。