Class SpringBootServletInitializer
java.lang.Object
org.springframework.boot.web.servlet.support.SpringBootServletInitializer
- All Implemented Interfaces:
org.springframework.web.WebApplicationInitializer
public abstract class SpringBootServletInitializer
extends 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:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected SpringApplicationBuilder
configure
(SpringApplicationBuilder builder) Configure the application.protected org.springframework.web.context.WebApplicationContext
createRootApplicationContext
(jakarta.servlet.ServletContext servletContext) protected SpringApplicationBuilder
Returns theSpringApplicationBuilder
that is used to configure and create theSpringApplication
.protected void
deregisterJdbcDrivers
(jakarta.servlet.ServletContext servletContext) Deregisters the JDBC drivers that were registered by the application represented by the givenservletContext
.void
onStartup
(jakarta.servlet.ServletContext servletContext) protected org.springframework.web.context.WebApplicationContext
run
(SpringApplication application) Called to run a fully configuredSpringApplication
.protected final void
setRegisterErrorPageFilter
(boolean registerErrorPageFilter) Set if theErrorPageFilter
should be registered.protected void
shutDownSharedReactorSchedulers
(jakarta.servlet.ServletContext servletContext) Shuts down the reactorSchedulers
that were initialized bySchedulers.boundedElastic()
(or similar).
-
Field Details
-
logger
protected org.apache.commons.logging.Log logger
-
-
Constructor Details
-
SpringBootServletInitializer
public SpringBootServletInitializer()
-
-
Method Details
-
setRegisterErrorPageFilter
protected final void setRegisterErrorPageFilter(boolean registerErrorPageFilter) Set if theErrorPageFilter
should be registered. Set tofalse
if error page mappings should be handled through the server and not Spring Boot.- Parameters:
registerErrorPageFilter
- if theErrorPageFilter
should be registered.
-
onStartup
public void onStartup(jakarta.servlet.ServletContext servletContext) throws jakarta.servlet.ServletException - Specified by:
onStartup
in interfaceorg.springframework.web.WebApplicationInitializer
- Throws:
jakarta.servlet.ServletException
-
deregisterJdbcDrivers
protected void deregisterJdbcDrivers(jakarta.servlet.ServletContext servletContext) Deregisters the JDBC drivers that were registered by the application represented by the givenservletContext
. The default implementationderegisters
everyDriver
that was loaded by theweb application's class loader
.- Parameters:
servletContext
- the web application's servlet context- Since:
- 2.3.0
-
createRootApplicationContext
protected org.springframework.web.context.WebApplicationContext createRootApplicationContext(jakarta.servlet.ServletContext servletContext) -
createSpringApplicationBuilder
Returns theSpringApplicationBuilder
that is used to configure and create theSpringApplication
. The default implementation returns a newSpringApplicationBuilder
in its default state.- Returns:
- the
SpringApplicationBuilder
. - Since:
- 1.3.0
-
run
Called to run a fully configuredSpringApplication
.- Parameters:
application
- the application to run- Returns:
- the
WebApplicationContext
-
configure
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:
-