Java 带有@EnableWebFlux注释的SpringWebFlux错误

Java 带有@EnableWebFlux注释的SpringWebFlux错误,java,spring-boot,spring-mvc,spring-webflux,Java,Spring Boot,Spring Mvc,Spring Webflux,我使用的是spring boot 2.1.1版本,使用的是@EnableWebFlux,但我遇到了一些错误 错误是 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.reactive.config.DelegatingWebFluxConfiguration': Initialization of bean failed;

我使用的是spring boot 2.1.1版本,使用的是
@EnableWebFlux
,但我遇到了一些错误

错误是

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.reactive.config.DelegatingWebFluxConfiguration': Initialization of bean failed; nested exception is java.lang.IllegalStateException: The Java/XML config for Spring MVC and Spring WebFlux cannot both be enabled, e.g. via @EnableWebMvc and @EnableWebFlux, in the same application

如何解决此问题。

在中不能同时启用Spring MVC和Spring WebFlux

在触发冲突的同一应用程序上下文中启用MVC和WebFlux

您当前不能让它们处于同一进程中

它提供了一种使用反应式存储库的变通方法:

但是,您可以使用现有SpringMVC应用程序中的反应式存储库,并从SpringMVC控制器方法返回反应式类型(Flux或Mono)

基于和SpringFramework合作者,您可以在同一个应用程序中同时使用SpringMVC和SpringWebFlux。这样,默认情况下您使用的是SpringMVC,而您可以同时启用响应性端点。请记住,它本质上是您正在使用的基于servlet的MVC应用程序

如果您还有
@EnableWebFlux
,那么您的意思是希望严格地将其转变为一个反应式web应用程序


我的建议是关闭
@EnableWebFlux
,让您的应用程序直接基于MVC。通过导入Webflux依赖项,您仍然可以使用一些被动功能,例如
Mono
Flux

我没有使用SpringMvc。org.springframework.boot-spring-boot-starter-webflux@nasiblollohyandashev,因此从您的code@NasibullohYandashev如果答案有帮助,您可以通过点击答案左侧的V符号来接受它。为什么您要手动启用web流量?如果这在类路径上,Spring Boot将自动启用它。这同样适用于web mvc部件。看起来类路径触发器上既有
spring-webmvc
也有
spring-webflux
jar要配置。确定。但是如果我想配置WebFlux,我该如何配置呢。通过启用@EnableWebFlux和webfluxconfig.class中的exends?您不需要
@EnableWebFlux
,因为Spring Boot会自动为您这样做。如果您想自定义配置,只需在项目中创建一个
webfluxconfigure
,并在其中添加一个
@configuration
注释即可。感谢您的帮助,我理解了这一点,同时请确保您的类路径上没有web和WebFlux JAR,否则Spring Boot将尝试同时配置这两个JAR。正如你已经注意到的,这是不允许的。