如需使用最新稳定版本,请使用 Spring Integration 7.0.4spring-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 声明,如果它们尚未定义为 beans。spring-doc.cadn.net.cn

请参阅 Javadoc 中的Transformer以获取更多信息和受支持的工厂方法。spring-doc.cadn.net.cn

从 6.2 版本开始,引入了一个 transformWith(Consumer<TransformerEndpointSpec>) 变体,使得所有转换器及其端点选项均可通过单个构建器参数进行配置。 这种风格提高了 DSL 的可读性,并在修改代码时提升了开发体验。 这也使 Groovy 和 Kotlin DSL 更加直观。spring-doc.cadn.net.cn