Spring Boot修改启动类

来源:互联网 发布:水利水电造价软件 编辑:程序博客网 时间:2024/06/14 01:58

前言:

spring boot默认情况下是自带了一个嵌入式容器,也就是不用部署在tomcat或jetty容器中即可访问及运行,所以,需要打包构建war及部署在服务器上,必须修改启动类:

如下:

/** * 默认情况下是自带的嵌入式容器,如果需要构建war文件并进行部署时 * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法 * 打成war包放到tomcat中启动必须要这个类才行 */@SpringBootApplicationpublic class BattleManagerApplication extends SpringBootServletInitializer{@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(BattleManagerApplication.class);}public static void main(String[] args) {SpringApplication.run(BattleManagerApplication.class, args);}}

官网文档如下:

SpringBootServletInitializer类

  • java.lang.Object继承
    • org.springframework.boot.context.web.SpringBootServletInitializer
  • 所有实现的接口:
    WebApplicationInitializer
    公共抽象类SpringBootServletInitializer extends Object 实现WebApplicationInitializer
    一个自以为是WebApplicationInitializer运行SpringApplication 从传统的WAR部署。结合ServletFilter并 ServletContextInitializer从应用程序上下文的servlet容器豆。

    配置应用程序可以覆盖 configure(SpringApplicationBuilder)方法(调用 SpringApplicationBuilder.sources(Object...))或使初始化程序本身成为一个 @Configuration。如果您SpringBootServletInitializer与其他组合使用,WebApplicationInitializers您可能还需要添加@Ordered注释来配置特定的启动顺序。

    请注意,只有在构建war文件并进行部署时,才需要WebApplicationInitializer。如果你喜欢运行一个嵌入式的容器,那么你根本不需要这个。

    方法摘要

    方法修饰符和类型方法和说明protected SpringApplicationBuilderconfigure(SpringApplicationBuilder builder)
    配置应用程序。
    protected WebApplicationContextcreateRootApplicationContext(ServletContext servletContext) voidonStartup(ServletContext servletContext) protected WebApplicationContextrun(SpringApplication application)
    被称为运行完全配置SpringApplication



原创粉丝点击