美文网首页开源框架-SpringBoot系列
Springboot-SpringApplicationBuil

Springboot-SpringApplicationBuil

作者: 16325 | 来源:发表于2020-03-24 17:00 被阅读0次

Spring Boot 提供了内置的 tomcat、undertow、jetty 三种 Servlet Web 容器。让我们开箱即用,可以迅速以 JAR 启动一个 Web 应用。但是在某些场景中我们可能还需要将我们的 Spring Boot 容器以 War 的形式进行传统的部署。这时我们就需要通过借助于 SpringBootServletInitializer 来实现。

SpringBootServletInitializer

SpringBootServletInitializer 是 WebApplicationInitializer 的实现,它从部署在 Web 容器上的传统 WAR 包运行 Spring Boot 应用。该类将 Servlet,Filter 和 ServletContextInitializer Bean 从应用程序上下文绑定到服务器。SpringBootServletInitializer 类还允许我们通过覆盖 SpringApplicationBuilder configure(SpringApplicationBuilder application)方法来配置由 Servlet 容器运行的应用程序。

package cn.felord.war;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * @author Felordcn
 */
public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

        return application.sources(WarSpringBootApplication.class);
    }

}

其中 WarSpringBootApplication 是 Spring Boot 的入口类,跟原来没什么两样

SpringApplicationBuilder

SpringApplicationBuilder允许您将多个方法调用链接在一起,并包含父方法和子方法,这些方法允许您创建层次结构,如下面的示例所示:

new SpringApplicationBuilder()
        .sources(Parent.class)
        .child(Application.class)
        .bannerMode(Banner.Mode.OFF)
        .run(args);

相关文章

网友评论

    本文标题:Springboot-SpringApplicationBuil

    本文链接:https://www.haomeiwen.com/subject/cffayhtx.html