Class ContextLoaderListener
- All Implemented Interfaces:
ServletContextListener
,EventListener
WebApplicationContext
.
Simply delegates to ContextLoader
as well as to ContextCleanupListener
.
ContextLoaderListener
supports injecting the root web application
context via the ContextLoaderListener(WebApplicationContext)
constructor, allowing for programmatic configuration in Servlet initializers.
See WebApplicationInitializer
for usage examples.
- Since:
- 17.02.2003
- Author:
- Juergen Hoeller, Chris Beams
- See Also:
-
Field Summary
Fields inherited from class org.springframework.web.context.ContextLoader
CONFIG_LOCATION_PARAM, CONTEXT_CLASS_PARAM, CONTEXT_ID_PARAM, CONTEXT_INITIALIZER_CLASSES_PARAM, GLOBAL_INITIALIZER_CLASSES_PARAM
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a newContextLoaderListener
that will create a web application context based on the "contextClass" and "contextConfigLocation" servlet context-params.ContextLoaderListener
(WebApplicationContext rootContext) Create a newContextLoaderListener
with the given application context, initializing it with theServletContextEvent
-providedServletContext
reference which is spec-restricted in terms of capabilities.ContextLoaderListener
(WebApplicationContext rootContext, ServletContext servletContext) Create a newContextLoaderListener
with the given application context. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Close the root web application context.void
Initialize the root web application context.Methods inherited from class org.springframework.web.context.ContextLoader
closeWebApplicationContext, configureAndRefreshWebApplicationContext, createWebApplicationContext, customizeContext, determineContextClass, determineContextInitializerClasses, getCurrentWebApplicationContext, initWebApplicationContext, loadParentContext, setContextInitializers
-
Constructor Details
-
ContextLoaderListener
public ContextLoaderListener()Create a newContextLoaderListener
that will create a web application context based on the "contextClass" and "contextConfigLocation" servlet context-params. SeeContextLoader
superclass documentation for details on default values for each.This constructor is typically used when declaring
ContextLoaderListener
as a<listener>
withinweb.xml
, where a no-arg constructor is required.The created application context will be registered into the ServletContext under the attribute name
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE
and the Spring application context will be closed when thecontextDestroyed(jakarta.servlet.ServletContextEvent)
lifecycle method is invoked on this listener. -
ContextLoaderListener
Create a newContextLoaderListener
with the given application context, initializing it with theServletContextEvent
-providedServletContext
reference which is spec-restricted in terms of capabilities.It is generally preferable to initialize the application context with a
WebApplicationInitializer.onStartup(jakarta.servlet.ServletContext)
-given reference which is usually fully capable. -
ContextLoaderListener
Create a newContextLoaderListener
with the given application context. This constructor is useful in Servlet initializers where instance-based registration of listeners is possible through theServletContext.addListener(java.lang.String)
API.The context may or may not yet be refreshed. If it (a) is an implementation of
ConfigurableWebApplicationContext
and (b) has not already been refreshed (the recommended approach), then the following will occur:- If the given context has not already been assigned an id, one will be assigned to it
ServletContext
andServletConfig
objects will be delegated to the application contextContextLoader.customizeContext(jakarta.servlet.ServletContext, org.springframework.web.context.ConfigurableWebApplicationContext)
will be called- Any
ApplicationContextInitializers
specified through the "contextInitializerClasses" init-param will be applied. refresh()
will be called
ConfigurableWebApplicationContext
, none of the above will occur under the assumption that the user has performed these actions (or not) per his or her specific needs.See
WebApplicationInitializer
for usage examples.In any case, the given application context will be registered into the ServletContext under the attribute name
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE
and the Spring application context will be closed when thecontextDestroyed(jakarta.servlet.ServletContextEvent)
lifecycle method is invoked on this listener.- Parameters:
rootContext
- the application context to manageservletContext
- the ServletContext to initialize with- Since:
- 6.2
- See Also:
-
-
Method Details
-
contextInitialized
Initialize the root web application context.- Specified by:
contextInitialized
in interfaceServletContextListener
-
contextDestroyed
Close the root web application context.- Specified by:
contextDestroyed
in interfaceServletContextListener
-