|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.web.context.ContextLoader
Performs the actual initialization work for the root application context. Called by ContextLoaderListener and ContextLoaderServlet.
Regards a "contextClass" parameter at the web.xml context-param level, falling back to the default context class (XmlWebApplicationContext) if not found. With the default ContextLoader, a context class needs to implement ConfigurableWebApplicationContext.
Passes a "contextConfigLocation" context-param to the context instance, parsing it into potentially multiple file paths which can be separated by any number of commas and spaces, like "applicationContext1.xml, applicationContext2.xml". If not explicitly specified, the context implementation is supposed to use a default location (with XmlWebApplicationContext: "/WEB-INF/applicationContext.xml").
Note: In case of multiple config locations, later bean definitions will override ones defined in earlier loaded files, at least when using one of Spring's default ApplicationContext implementations. This can be leveraged to deliberately override certain bean definitions via an extra XML file.
ContextLoaderListener
,
ContextLoaderServlet
,
ConfigurableWebApplicationContext
,
XmlWebApplicationContext
Field Summary | |
static String |
CONFIG_LOCATION_PARAM
Name of servlet context parameter that can specify the config location for the root context, falling back to the implementation's default else. |
static String |
CONTEXT_CLASS_PARAM
Config param for the root WebApplicationContext implementation class to use: "contextClass" |
static Class |
DEFAULT_CONTEXT_CLASS
Default context class for ContextLoader. |
Constructor Summary | |
ContextLoader()
|
Method Summary | |
void |
closeWebApplicationContext(ServletContext servletContext)
Close Spring's web application context for the given servlet context. |
protected WebApplicationContext |
createWebApplicationContext(ServletContext servletContext,
ApplicationContext parent)
Instantiate the root WebApplicationContext for this loader, either a default XmlWebApplicationContext or a custom context class if specified. |
WebApplicationContext |
initWebApplicationContext(ServletContext servletContext)
Initialize Spring's web application context for the given servlet context, regarding the "contextClass" and "contextConfigLocation" context-params. |
protected ApplicationContext |
loadParentContext(ServletContext servletContext)
Template method which may be overridden by a subclass to load or obtain an ApplicationContext instance which will be used as the parent context of the root WebApplicationContext (if it is not null). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final String CONTEXT_CLASS_PARAM
public static final Class DEFAULT_CONTEXT_CLASS
XmlWebApplicationContext
public static final String CONFIG_LOCATION_PARAM
XmlWebApplicationContext.DEFAULT_CONFIG_LOCATION
,
Constant Field ValuesConstructor Detail |
public ContextLoader()
Method Detail |
public WebApplicationContext initWebApplicationContext(ServletContext servletContext) throws BeansException
servletContext
- current servlet context
BeansException
- if the context couldn't be initializedCONTEXT_CLASS_PARAM
,
CONFIG_LOCATION_PARAM
protected WebApplicationContext createWebApplicationContext(ServletContext servletContext, ApplicationContext parent) throws BeansException
This implementation expects custom contexts to implement ConfigurableWebApplicationContext. Can be overridden in subclasses.
servletContext
- current servlet contextparent
- the parent ApplicationContext to use, or null if none
BeansException
- if the context couldn't be initializedCONTEXT_CLASS_PARAM
,
DEFAULT_CONTEXT_CLASS
,
ConfigurableWebApplicationContext
,
XmlWebApplicationContext
protected ApplicationContext loadParentContext(ServletContext servletContext) throws BeansException
The main reason for this hook is to allow root web application contexts to be children of a shared EAR context that's also visible to EJBs. For pure web applications, there is usually no need to worry about this.
servletContext
- current servlet context
BeansException
- if the context couldn't be initializedpublic void closeWebApplicationContext(ServletContext servletContext) throws ApplicationContextException
servletContext
- current servlet context
ApplicationContextException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |