SpringBootServletInitializer
是一个 Spring Boot 配置提供的 Servlet 初始化器的类别。它继承自 Spring 的SpringServletContainerInitializer
类,实现了WebApplicationInitializer
因此,接口可以在那里 Servlet 当容器启动时,它会自动加载并生成 servlet 用于初始化的容器配置类 Servlet 容器。
在 Spring Boot 如果需要将应用程序打包成应用程序 WAR 包并部署到外部 Servlet 需要在容器中使用SpringBootServletInitializer
。通过创造继承自SpringBootServletInitializer
并在这一类中重写configure()
可以创建一种方法 Servlet 配置外部的容器初始化器 Servlet 例如:
public class MyWebApplicationInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(MySpringBootApplication.class); }}
创建了上述代码之一MyWebApplicationInitializer
类,继承自SpringBootServletInitializer
。它重写了configure()
该方法返回一个方法SpringApplicationBuilder
对象,用于配置 Spring Boot 其他设置的应用程序。在本例中,configure()
方法指定了 Spring Boot 应用程序的启动类别为MySpringBootApplication.class
,这样在部署 WAR 包时,Servlet 该类容器将自动加载并启动 Spring Boot 应用程序。
总的来说,SpringBootServletInitializer
的作用是让 Spring Boot 可以使用应用程序 WAR 包的形式部署在外部 Servlet 容器(如 Tomcat、Jetty 等),并提供一种简单的配置外部的方法 Servlet 容器。
![](/images/780-200-2.jpg)