每次我从 spring.io 创建 spring boot 项目时都会创建 ServletInitializer 文件

C96*_*C96 5 java spring kotlin spring-boot spring-cloud-gateway

每次我从 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);
    }

}
Run Code Online (Sandbox Code Playgroud)

小智 2

当您在使用 SpringInitializr 创建项目时选择打包为 WAR 而不是 JAR 时,就会出现这种情况。如果您选择打包为JAR(默认选择),那么只会创建1个类,即具有main方法和@SpringBootApplication的ApplicationClass。