FunctionExpression

我们引入了 FunctionExpression 类(SpEL Expression 接口的一个实现),以便我们能够使用 lambdas 和泛型。 当存在来自 Core Spring Integration 的隐式 Strategy 变体时,DSL 组件除了提供 expression 选项外,还提供了 Function<T, R> 选项。 以下示例展示了如何使用函数表达式:

.enrich(e -> e.requestChannel("enrichChannel")
            .requestPayload(Message::getPayload)
            .propertyFunction("date", m -> new Date()))

FunctionExpression 还支持运行时类型转换,这与 SpelExpression 中的做法相同。