Class SpringBootServletInitializer
java.lang.Object
org.springframework.boot.web.servlet.support.SpringBootServletInitializer
- All Implemented Interfaces:
WebApplicationInitializer
public abstract class SpringBootServletInitializer
extends Object
implements 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
- Author:
- Dave Syer, Phillip Webb, Andy Wilkinson, Brian Clozel
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected SpringApplicationBuilder
configure
(SpringApplicationBuilder builder) Configure the application.protected WebApplicationContext
createRootApplicationContext
(ServletContext servletContext) protected SpringApplicationBuilder
Returns theSpringApplicationBuilder
that is used to configure and create theSpringApplication
.protected void
deregisterJdbcDrivers
(ServletContext servletContext) Deregisters the JDBC drivers that were registered by the application represented by the givenservletContext
.void
onStartup
(ServletContext servletContext) protected 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
(ServletContext servletContext) Shuts down the reactorSchedulers
that were initialized bySchedulers.boundedElastic()
(or similar).
-
Field Details
-
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
- Specified by:
onStartup
in interfaceWebApplicationInitializer
- Throws:
ServletException
-
deregisterJdbcDrivers
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
-
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:
-