Class ContextLoaderListener
- java.lang.Object
- org.springframework.web.context.ContextLoader
- org.springframework.web.context.ContextLoaderListener
- All Implemented Interfaces:
EventListener
,ServletContextListener
public class ContextLoaderListener extends ContextLoader implements ServletContextListener
Bootstrap listener to start up and shut down Spring's rootWebApplicationContext
. Simply delegates toContextLoader
as well as toContextCleanupListener
.This listener should be registered after
Log4jConfigListener
inweb.xml
, if the latter is used.As of Spring 3.1,
ContextLoaderListener
supports injecting the root web application context via theContextLoaderListener(WebApplicationContext)
constructor, allowing for programmatic configuration in Servlet 3.0+ environments. SeeWebApplicationInitializer
for usage examples.- Since:
- 17.02.2003
- Author:
- Juergen Hoeller, Chris Beams
- See Also:
ContextLoader.setContextInitializers(org.springframework.context.ApplicationContextInitializer<?>...)
,WebApplicationInitializer
,Log4jConfigListener
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, LOCATOR_FACTORY_KEY_PARAM, LOCATOR_FACTORY_SELECTOR_PARAM
Constructor Summary
Constructors Constructor Description ContextLoaderListener()
Create a newContextLoaderListener
that will create a web application context based on the "contextClass" and "contextConfigLocation" servlet context-params.ContextLoaderListener(WebApplicationContext context)
Create a newContextLoaderListener
with the given application context.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
contextDestroyed(ServletContextEvent event)
Close the root web application context.void
contextInitialized(ServletContextEvent event)
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 Detail
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(javax.servlet.ServletContextEvent)
lifecycle method is invoked on this listener.
ContextLoaderListener
public ContextLoaderListener(WebApplicationContext context)
Create a newContextLoaderListener
with the given application context. This constructor is useful in Servlet 3.0+ environments 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(javax.servlet.ServletContext, org.springframework.web.context.ConfigurableWebApplicationContext)
will be called- Any
ApplicationContextInitializer
s 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(javax.servlet.ServletContextEvent)
lifecycle method is invoked on this listener.- Parameters:
context
- the application context to manage- See Also:
contextInitialized(ServletContextEvent)
,contextDestroyed(ServletContextEvent)
Method Detail
contextInitialized
public void contextInitialized(ServletContextEvent event)
Initialize the root web application context.- Specified by:
contextInitialized
in interfaceServletContextListener
contextDestroyed
public void contextDestroyed(ServletContextEvent event)
Close the root web application context.- Specified by:
contextDestroyed
in interfaceServletContextListener