Spring mvc和webflux在1个春季启动应用程序中

anu*_*uni 8 spring-boot spring-webflux

我从spring boot doc获得了以下指令:

在应用程序中添加spring-boot-starter-web和spring-boot-starter-webflux模块会导致Spring Boot自动配置Spring MVC,而不是WebFlux.选择此行为是因为许多Spring开发人员将spring-boot-starter-webflux添加到他们的Spring MVC应用程序中以使用反应式WebClient.您仍然可以通过将所选应用程序类型设置为SpringApplication.setWebApplicationType(WebApplicationType.REACTIVE)来强制执行您的选择.

我的问题是:

如果我的应用程序包含MVC服务和webflux服务怎么办?是否支持?

例如:

我可能有一些基于MVC的现有管理服务.现在我想添加一些webflux风格的新服务.

谢谢

莱昂

Bri*_*zel 6

不,这不受支持.Spring MVC和Spring WebFlux有不同的运行时模型并且不支持相同的服务器(例如,Spring WebFlux可以与Netty一起运行,而Spring MVC则不能).

此外,Spring MVC和Spring WebFlux是完整的Web框架,这意味着每个框架都有自己的基础架构,这些基础架构在某种程度上会复制另一个.在同一个应用程序中进行部署会使映射请求变得困难(哪些请求应该去哪里?).

  • 知道了!多谢!痛点是一些内部用户可能会选择MVC,而另一些可能会选择WebFlux。我当前的管理启动器是基于 MVC/Servlet 的,我想将其重用于 2 种样式。根据你的回答,这似乎是不可能的。有没有办法在没有 2 个独立的启动器/代码库的情况下实现这一目标? (2认同)