org.springframework.boot.web.servlet.support

Class SpringBootServletInitializer

  • java.lang.Object
    • org.springframework.boot.web.servlet.support.SpringBootServletInitializer
  • All Implemented Interfaces:
    org.springframework.web.WebApplicationInitializer


    public abstract class SpringBootServletInitializer
    extends java.lang.Object
    implements org.springframework.web.WebApplicationInitializer
    An opinionated WebApplicationInitializer to run a SpringApplication from a traditional WAR deployment. Binds Servlet, Filter and ServletContextInitializer beans from the application context to the server.

    To configure the application either override the configure(SpringApplicationBuilder) method (calling SpringApplicationBuilder.sources(Class...)) or make the initializer itself a @Configuration. If you are using SpringBootServletInitializer in combination with other WebApplicationInitializers you might also want to add an @Ordered annotation to configure a specific startup order.

    Note that a WebApplicationInitializer is only needed if you are building a war file and deploying it. If you prefer to run an embedded web server then you won't need this at all.

    Since:
    2.0.0
    See Also:
    configure(SpringApplicationBuilder)
    • Field Detail

      • logger

        protected org.apache.commons.logging.Log logger
    • Constructor Detail

      • SpringBootServletInitializer

        public SpringBootServletInitializer()
    • Method Detail

      • setRegisterErrorPageFilter

        protected final void setRegisterErrorPageFilter(boolean registerErrorPageFilter)
        Set if the ErrorPageFilter should be registered. Set to false if error page mappings should be handled through the server and not Spring Boot.
        Parameters:
        registerErrorPageFilter - if the ErrorPageFilter should be registered.
      • onStartup

        public void onStartup(javax.servlet.ServletContext servletContext)
                       throws javax.servlet.ServletException
        Specified by:
        onStartup in interface org.springframework.web.WebApplicationInitializer
        Throws:
        javax.servlet.ServletException
      • deregisterJdbcDrivers

        protected void deregisterJdbcDrivers(javax.servlet.ServletContext servletContext)
        Deregisters the JDBC drivers that were registered by the application represented by the given servletContext. The default implementation deregisters every Driver that was loaded by the web application's class loader.
        Parameters:
        servletContext - the web application's servlet context
        Since:
        2.3.0
      • createRootApplicationContext

        protected org.springframework.web.context.WebApplicationContext createRootApplicationContext(javax.servlet.ServletContext servletContext)
      • createSpringApplicationBuilder

        protected SpringApplicationBuilder createSpringApplicationBuilder()
        Returns the SpringApplicationBuilder that is used to configure and create the SpringApplication. The default implementation returns a new SpringApplicationBuilder in its default state.
        Returns:
        the SpringApplicationBuilder.
        Since:
        1.3.0
      • run

        protected org.springframework.web.context.WebApplicationContext run(SpringApplication application)
        Called to run a fully configured SpringApplication.
        Parameters:
        application - the application to run
        Returns:
        the WebApplicationContext
      • configure

        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder)
        Configure the application. Normally all you would need to do is to add sources (e.g. config classes) because other settings have sensible defaults. You might choose (for instance) to add default command line arguments, or set an active Spring profile.
        Parameters:
        builder - a builder for the application context
        Returns:
        the application builder
        See Also:
        SpringApplicationBuilder