采用
@SpringBootApplication(exclude = {EmbeddedServletContainerAutoConfiguration.class,
WebMvcAutoConfiguration.class})
排除Spring Boot对嵌入式servlet容器的自动配置。另外,您需要为非REST案例设置以下属性,以使Spring Boot不会尝试启动RESTWebApplicationContext
(需要一个servlet容器):
spring.main.web-environment=false
然后通过导入在REST配置文件中启用嵌入式TomcatEmbeddedServletContainerAutoConfiguration.class
(这将自动配置延迟到REST配置文件加载后:
@Profile({"REST"})
@Configuration
@Import(EmbeddedServletContainerAutoConfiguration.class)
public class HttpConfiguration {
// ...
}
如果使用任何EmbeddedServletContainerCustomizer
,还需要导入EmbeddedServletContainerCustomizerBeanPostProcessorRegistrar.class
。