转换器

DSL API 提供了一个方便、流畅的 `Transformers` 工厂,可用于 `.transform()` EIP 方法中的内联目标对象定义。以下示例展示了如何使用它

@Bean
public IntegrationFlow transformFlow() {
    return IntegrationFlow.from("input")
            .transform(Transformers.fromJson(MyPojo.class))
            .transform(Transformers.serializer())
            .get();
}

这避免了使用 setter 进行不便的编码,并使流定义更加直接。请注意,您可以使用 `Transformers` 将目标 `Transformer` 实例声明为 `@Bean` 实例,并再次在 `IntegrationFlow` 定义中将它们用作 bean 方法。尽管如此,如果内联对象尚未定义为 bean,DSL 解析器会负责其 bean 声明。

有关更多信息和支持的工厂方法,请参阅 Javadoc 中的 转换器 (Transformers)

从 6.2 版本开始,引入了 `transformWith(Consumer<TransformerEndpointSpec>)` 变体,以便通过单个构建器参数配置转换器及其端点的所有选项。这种风格使 DSL 更具可读性,并在修改代码时提升开发人员体验。这同样使得 Groovy 和 Kotlin DSL 更加直观。