23.6 Web Environment
SpringApplication
试图为您创建正确类型的ApplicationContext
.用于确定WebEnvironmentType
的逻辑应该是相当简单的:
- 如果存在Spring MVC,
AnnotationConfigServletWebServerApplicationContext
将被使用. - 如果不存在Spring MVC但存在WebFlux,
AnnnotationConfigReactiveWebServerApplicationContext
将被使用. - 否则,使用
AnnotationConfigApplicationContext
.
这意味着,如果您正在同一个应用程序中使用Spring MVC和来自Spring WebFlux新的WebClient,默认情况下将使用Spring MVC.
您可以通过调用setWebApplicationType(WebApplicationType)
轻松地覆盖.
当然,你也可以通过调用setApplicationContextClass(…)
方法来完全控制配置ApplicationContext
类型.
Tip
当在JUnit测试中使用
SpringApplication
时,通常需要调用setWebApplicationType(WebApplicationType.NONE)
.