如前所述,绑定在外部消息传递系统(例如,队列、主题等)和应用程序提供的生产者和使用者之间架起了一座桥梁。Spring中文文档

以下示例显示了一个完全配置且正常运行的 Spring Cloud Stream 应用程序,该应用程序接收消息的有效负载 作为类型(请参阅 [内容类型协商] 部分),将其记录到控制台,并在将其转换为大写后将其发送到下游。StringSpring中文文档

@SpringBootApplication
public class SampleApplication {

	public static void main(String[] args) {
		SpringApplication.run(SampleApplication.class, args);
	}

	@Bean
	public Function<String, String> uppercase() {
	    return value -> {
	        System.out.println("Received: " + value);
	        return value.toUpperCase();
	    };
	}
}

上面的例子看起来与任何普通的 spring-boot 应用程序没有什么不同。它定义了一个类型的单个 bean,仅此而已。那么,它是如何成为spring-cloud-stream应用程序的呢? 它之所以成为spring-cloud-stream应用程序,仅仅是因为存在spring-cloud-stream和binder依赖项 以及类路径上的自动配置类,从而有效地将引导应用程序的上下文设置为spring-cloud-stream应用程序。 在这种情况下,类型的 bean 或被视为事实上的消息处理程序触发 按照某些命名约定绑定到所提供活页夹公开的目标,并且 规则以避免额外的配置。FunctionSupplierFunctionConsumerSpring中文文档