Spring有一个关于WebApplicationType的官方文档
https://docs.spring.io/spring-boot/api/java/org/springframework/boot/WebApplicationType.html
应用层可以选择设置:
NONE
The application should not run as a web application and should not start an embedded web server.
REACTIVE
The application should run as a reactive web application and should start an embedded reactive web server.
SERVLET
The application should run as a servlet-based web application and should start an embedded servlet web server.
我无意中忘记为我的 spring webflux 应用程序设置
spring.main.web-application-type=reactive
。
我也无意中忘记为我的 spring mvc 应用程序设置
spring.main.web-application-type=servlet
。
但是,他们都能够处理请求,应用程序已启动并运行,并且一切看起来都很好。
因此,我有一个疑问,这个WebApplicationType的用途是什么? 好像什么也没做
这用于选择要运行的操作应用程序类型。如果类路径上同时有 WebFlux 和 Spring MVC,Spring Boot 现在将知道要启动什么,因此您需要选择它。或者,您仍然可以在类路径上使用 Spring MVC 或 Spring WebFlux,但您正在编写命令行应用程序,因此您不需要服务器并选择“无”。