Class XmlWebApplicationContext
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- Aware,- BeanFactory,- BeanNameAware,- HierarchicalBeanFactory,- InitializingBean,- ListableBeanFactory,- ApplicationContext,- ApplicationEventPublisher,- ConfigurableApplicationContext,- Lifecycle,- MessageSource,- EnvironmentCapable,- ResourceLoader,- ResourcePatternResolver,- ThemeSource,- ConfigurableWebApplicationContext,- WebApplicationContext
WebApplicationContext implementation
 which takes its configuration from XML documents, understood by an
 XmlBeanDefinitionReader.
 This is essentially the equivalent of
 GenericXmlApplicationContext
 for a web environment.
 By default, the configuration will be taken from "/WEB-INF/applicationContext.xml" for the root context, and "/WEB-INF/test-servlet.xml" for a context with the namespace "test-servlet" (like for a DispatcherServlet instance with the servlet-name "test").
The config location defaults can be overridden via the "contextConfigLocation"
 context-param of ContextLoader and servlet
 init-param of FrameworkServlet. Config locations
 can either denote concrete files like "/WEB-INF/context.xml" or Ant-style patterns
 like "/WEB-INF/*-context.xml" (see PathMatcher
 javadoc for pattern details).
 
Note: In case of multiple config locations, later bean definitions will override ones defined in earlier loaded files. This can be leveraged to deliberately override certain bean definitions via an extra XML file.
For a WebApplicationContext that reads in a different bean definition format,
 create an analogous subclass of AbstractRefreshableWebApplicationContext.
 Such a context implementation can be specified as "contextClass" context-param
 for ContextLoader or "contextClass" init-param for FrameworkServlet.
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from class org.springframework.core.io.DefaultResourceLoaderDefaultResourceLoader.ClassPathContextResource
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final StringDefault config location for the root context.static final StringDefault prefix for building a config location for a namespace.static final StringDefault suffix for building a config location for a namespace.Fields inherited from class org.springframework.context.support.AbstractApplicationContextAPPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAMEFields inherited from interface org.springframework.beans.factory.BeanFactoryFACTORY_BEAN_PREFIXFields inherited from interface org.springframework.context.ConfigurableApplicationContextAPPLICATION_STARTUP_BEAN_NAME, BOOTSTRAP_EXECUTOR_BEAN_NAME, CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SHUTDOWN_HOOK_THREAD_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAMEFields inherited from interface org.springframework.web.context.ConfigurableWebApplicationContextAPPLICATION_CONTEXT_ID_PREFIX, SERVLET_CONFIG_BEAN_NAMEFields inherited from interface org.springframework.core.io.ResourceLoaderCLASSPATH_URL_PREFIXFields inherited from interface org.springframework.core.io.support.ResourcePatternResolverCLASSPATH_ALL_URL_PREFIXFields inherited from interface org.springframework.web.context.WebApplicationContextCONTEXT_ATTRIBUTES_BEAN_NAME, CONTEXT_PARAMETERS_BEAN_NAME, ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_APPLICATION, SCOPE_REQUEST, SCOPE_SESSION, SERVLET_CONTEXT_BEAN_NAME
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected String[]The default location for the root context is "/WEB-INF/applicationContext.xml", and "/WEB-INF/test-servlet.xml" for a context with the namespace "test-servlet" (like for a DispatcherServlet instance with the servlet-name "test").protected voidinitBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader) Initialize the bean definition reader used for loading the bean definitions of this context.protected voidloadBeanDefinitions(DefaultListableBeanFactory beanFactory) Loads the bean definitions via an XmlBeanDefinitionReader.protected voidLoad the bean definitions with the given XmlBeanDefinitionReader.Methods inherited from class org.springframework.web.context.support.AbstractRefreshableWebApplicationContextcreateEnvironment, getApplicationName, getConfigLocations, getNamespace, getResourceByPath, getResourcePatternResolver, getServletConfig, getServletContext, getTheme, initPropertySources, onRefresh, postProcessBeanFactory, setNamespace, setServletConfig, setServletContextMethods inherited from class org.springframework.context.support.AbstractRefreshableConfigApplicationContextafterPropertiesSet, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setIdMethods inherited from class org.springframework.context.support.AbstractRefreshableApplicationContextassertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferencesMethods inherited from class org.springframework.context.support.AbstractApplicationContextaddApplicationListener, addBeanFactoryPostProcessor, clearResourceCaches, close, containsBean, containsBeanDefinition, containsLocalBean, destroyBeans, doClose, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationStartup, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResources, getStartupDate, getType, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, removeApplicationListener, resetCommonCaches, setApplicationStartup, setDisplayName, setEnvironment, setParent, start, stop, toStringMethods inherited from class org.springframework.core.io.DefaultResourceLoaderaddProtocolResolver, getClassLoader, getProtocolResolvers, getResource, getResourceCache, setClassLoaderMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.context.ApplicationContextgetAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDateMethods inherited from interface org.springframework.context.ApplicationEventPublisherpublishEvent, publishEventMethods inherited from interface org.springframework.beans.factory.BeanFactorycontainsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatchMethods inherited from interface org.springframework.context.ConfigurableApplicationContextaddApplicationListener, addBeanFactoryPostProcessor, addProtocolResolver, close, getApplicationStartup, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, removeApplicationListener, setApplicationStartup, setClassLoader, setEnvironment, setId, setParentMethods inherited from interface org.springframework.web.context.ConfigurableWebApplicationContextsetConfigLocation, setConfigLocationsMethods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactorycontainsLocalBean, getParentBeanFactoryMethods inherited from interface org.springframework.beans.factory.ListableBeanFactorycontainsBeanDefinition, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotationMethods inherited from interface org.springframework.context.MessageSourcegetMessage, getMessage, getMessageMethods inherited from interface org.springframework.core.io.ResourceLoadergetClassLoader, getResourceMethods inherited from interface org.springframework.core.io.support.ResourcePatternResolvergetResources
- 
Field Details- 
DEFAULT_CONFIG_LOCATIONDefault config location for the root context.- See Also:
 
- 
DEFAULT_CONFIG_LOCATION_PREFIXDefault prefix for building a config location for a namespace.- See Also:
 
- 
DEFAULT_CONFIG_LOCATION_SUFFIXDefault suffix for building a config location for a namespace.- See Also:
 
 
- 
- 
Constructor Details- 
XmlWebApplicationContextpublic XmlWebApplicationContext()
 
- 
- 
Method Details- 
loadBeanDefinitionsprotected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws BeansException, IOException Loads the bean definitions via an XmlBeanDefinitionReader.- Specified by:
- loadBeanDefinitionsin class- AbstractRefreshableApplicationContext
- Parameters:
- beanFactory- the bean factory to load bean definitions into
- Throws:
- BeansException- if parsing of the bean definitions failed
- IOException- if loading of bean definition files failed
- See Also:
 
- 
initBeanDefinitionReaderInitialize the bean definition reader used for loading the bean definitions of this context. Default implementation is empty.Can be overridden in subclasses, e.g. for turning off XML validation or using a different XmlBeanDefinitionParser implementation. - Parameters:
- beanDefinitionReader- the bean definition reader used by this context
- See Also:
 
- 
loadBeanDefinitionsLoad the bean definitions with the given XmlBeanDefinitionReader.The lifecycle of the bean factory is handled by the refreshBeanFactory method; therefore this method is just supposed to load and/or register bean definitions. Delegates to a ResourcePatternResolver for resolving location patterns into Resource instances. - Throws:
- IOException- if the required XML document isn't found
- See Also:
 
- 
getDefaultConfigLocationsThe default location for the root context is "/WEB-INF/applicationContext.xml", and "/WEB-INF/test-servlet.xml" for a context with the namespace "test-servlet" (like for a DispatcherServlet instance with the servlet-name "test").- Overrides:
- getDefaultConfigLocationsin class- AbstractRefreshableConfigApplicationContext
- Returns:
- an array of default config locations, if any
- See Also:
 
 
-