此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Integration 6.5.1spring-doc.cadn.net.cn

变形金刚

DSL API 提供了方便、流畅的Transformers工厂,用作.transform()EIP 方法。 以下示例演示如何使用它:spring-doc.cadn.net.cn

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

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

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

从 6.2 版开始,transformWith(Consumer<TransformerEndpointSpec>)引入了变体,使所有 transformer 及其端点选项都可以通过单个构建器参数进行配置。 这种风格使 DSL 更具可读性,并增加了开发人员在修改代码时的体验。 这也使 Groovy 和 Kotlin DSL 更加简单。spring-doc.cadn.net.cn