我正在使用Spring Cloud Stream。
我不喜欢用@Input或@Ouput注释接口的方法,然后使用该接口的@EnableBindings,因为我的代码中散布了很多配置内容。
有什么方法可以使用XML配置进行配置?
谢谢!
答案 0 :(得分:3)
“因为我的代码中分散了很多配置内容” 并不是XML与注解的真正问题。如果一个人对他们的设计不小心,那么采用哪种方法都没关系,那将会是一团糟。因此,基本上,这不是有效的理由和/或关注,而是个人喜好。
在spring-cloud-stream应用程序中有多种使用XML的方法;毕竟,实际的应用程序实际上是一个Spring Integration(SI)应用程序,可以从消息通道接收消息和/或从消息通道发送消息。
但是,关于@EnableBindings, @Input or @Ouput
,必须了解其核心目的是:
以协助提供此类资源(队列,主题)
等。
当然,您可以自己依靠纯SI并使用入站/出站适配器,连接和会话工厂,重试模板等来自己照顾它,但这不会构成spring-cloud-stream应用程序。
此外,不要忘记Spring Boot,它基于约定/意见创建了很多东西,而您根本不需要做任何事情(除了在类路径中具有自动配置JAR之外),而且spring-cloud-stream真正基于这些概念,只需要您提供一个开箱即用的单个配置元素-@EnableBindings
,其余的工作我们都会做。
因此实际上,问题实际上是要引导还是不引导-不是XML vs Annotation。
话虽如此,我们一直在探索可以简化配置的选项,因此,如果您有建议,请与我们分享。