【发布时间】:2021-02-13 09:55:49
【问题描述】:
每次我从 spring.io 创建一个项目时,都会在项目内部创建一个 ServletInitializer 文件。我只有 spring 云网关依赖项。这是该文件存在的原因吗?如果是,有人可以解释原因吗?
这些是它的内容:
package com.springcloudgatewayexample;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringCloudGatewayExampleApplication.class);
}
}
【问题讨论】:
-
我不完全确定,但如果 Spring 应用程序不是 Web 应用程序(使用嵌入式 tomcat),它将默认为传统的
WAR存档。我相信SpringBootServletInitializer用于配置WAR文件。我在这里可能是错的,因此这是一个评论。我主要使用spring web的spring项目,我没有得到那个文件。 -
谢谢,但我不认为缺少
spring web是该文件包含在生成的项目中的原因。当我添加Spring Web或Spring Reactive Web时,我仍然得到一个带有SpringBootServletInitializer文件的项目。
标签: java spring spring-boot kotlin spring-cloud-gateway