跳到主要内容

Transformers

QWen Plus 中英对照 Transformers

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

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

它避免了使用setter进行不便的编码,并使流程定义更加直接。请注意,您可以使用 Transformers 将目标 Transformer 实例声明为 @Bean 实例,并且可以再次在 IntegrationFlow 定义中将它们作为bean方法使用。然而,DSL解析器会处理内联对象的bean声明,如果它们尚未被定义为beans的话。

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

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

注意:straightforward 在这里保持英文,因为它可能是指编程语言特性上的直接或简洁,没有特别对应的中文术语。