对于最新的稳定版本,请使用 Spring Integration 6.4.0spring-doc.cn

变形金刚

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

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

它避免了使用 setter 进行不方便的编码,并使流定义更加简单。 请注意,您可以使用 将目标实例声明为实例,并再次将它们从定义中用作 bean 方法。 尽管如此,如果内联对象尚未定义为 bean,则 DSL 解析器会处理这些对象的 bean 声明。TransformersTransformer@BeanIntegrationFlowspring-doc.cn

有关更多信息和支持的工厂方法,请参阅 Javadoc 中的 Transformersspring-doc.cn

从版本 6.2 开始,引入了一个变体,通过单个 builder 参数配置所有 transformer 及其 endpoint 选项。 这种风格为 DSL 提供了更多的可读性,并增加了开发人员在修改代码时的体验。 这也使 Groovy 和 Kotlin DSL 更加简单。transformWith(Consumer<TransformerEndpointSpec>)spring-doc.cn