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).