变形金刚
DSL API 提供了一个方便、流畅的Transformers
Factory 中用作.transform()
弹性公网 IP 方法。
以下示例演示如何使用它:
@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>)
variant 中,所有转换器及其端点选项都可以通过单个 builder 参数进行配置。
这种风格为 DSL 提供了更多的可读性,并增加了开发人员在修改代码时的体验。
这也使 Groovy 和 Kotlin DSL 更加简单。
另请参阅lambda 和Message<?>
参数.