Spring Boot具有两个不同的依赖项,每个依赖项都实现the same API:Project Reactor和RxJava 2。您可以在Spring Boot here中验证依赖性。那么为什么要重复呢?
在实践中是否有理由使用一个?
答案 0 :(得分:1)
请记住,这不是直接的和强制性的依赖关系,而是 BOM,它确定了哪个版本是首选版本,并且对于此版本的Spring Boot来说效果很好。如果您不使用RxJava2(或明确使用的RxJava项目),则不会引入依赖项。如果这样做,但未指定版本,则将从该链接中提取一个版本。
现在,为什么要问RxJava2
和Reactor
? Spring Framework的WebFlux
堆栈是建立在Reactor之上的,但是Spring一直是关于选择。由于RxJava2和Reactor都实现了Reactive Streams
specification,因此它们是可互操作的。因此,如果您希望用户代码处理RxJava2类型(甚至RxJava 1类型),Spring将为您完成转换。
管道仍然使用Reactor完成,因此它也是您首选的实现方式,但这取决于您。