Spring 集成 Java DSL - class HeaderEnricher 和 HeaderEnricherSpec 之间有什么区别
Spring Integration Java DSL - What is the difference between class HeaderEnricher and HeaderEnricherSpec
我正在学习用于 spring 集成的预 Java8 DSL,并尝试从我的项目中可用的现有集成组件中获取一些示例。对于 header enricher,我遇到了两个 classes,HeaderEnricher 和 HeaderEnricherSpec。
这些classes有什么区别,我观察到HeaderEnricherSpec扩展了HeaderEnricherclass。 IntegrationComponentSpec 在这种情况下如何提供帮助。
HeaderEnricherSpec
是 HeaderEnricher
的 builder 模式实现。
一般代码如下:
public class HeaderEnricherSpec extends IntegrationComponentSpec<HeaderEnricherSpec, HeaderEnricher> {
...
@Override
protected HeaderEnricher doGet() {
HeaderEnricher headerEnricher =
new HeaderEnricher(new HashMap<String, HeaderValueMessageProcessor<?>>(this.headerToAdd));
headerEnricher.setDefaultOverwrite(this.defaultOverwrite);
headerEnricher.setShouldSkipNulls(this.shouldSkipNulls);
headerEnricher.setMessageProcessor(this.messageProcessor);
return headerEnricher;
}
}
IntegrationComponentSpec
是一个 "super" 构建器,具有集成组件的任何规范的通用属性。
我正在学习用于 spring 集成的预 Java8 DSL,并尝试从我的项目中可用的现有集成组件中获取一些示例。对于 header enricher,我遇到了两个 classes,HeaderEnricher 和 HeaderEnricherSpec。
这些classes有什么区别,我观察到HeaderEnricherSpec扩展了HeaderEnricherclass。 IntegrationComponentSpec 在这种情况下如何提供帮助。
HeaderEnricherSpec
是 HeaderEnricher
的 builder 模式实现。
一般代码如下:
public class HeaderEnricherSpec extends IntegrationComponentSpec<HeaderEnricherSpec, HeaderEnricher> {
...
@Override
protected HeaderEnricher doGet() {
HeaderEnricher headerEnricher =
new HeaderEnricher(new HashMap<String, HeaderValueMessageProcessor<?>>(this.headerToAdd));
headerEnricher.setDefaultOverwrite(this.defaultOverwrite);
headerEnricher.setShouldSkipNulls(this.shouldSkipNulls);
headerEnricher.setMessageProcessor(this.messageProcessor);
return headerEnricher;
}
}
IntegrationComponentSpec
是一个 "super" 构建器,具有集成组件的任何规范的通用属性。