类 XmlWebApplicationContext
- java.lang.Object
- org.springframework.core.io.DefaultResourceLoader
- org.springframework.context.support.AbstractApplicationContext
- org.springframework.context.support.AbstractRefreshableApplicationContext
- org.springframework.context.support.AbstractRefreshableConfigApplicationContext
- org.springframework.web.context.support.AbstractRefreshableWebApplicationContext
- org.springframework.web.context.support.XmlWebApplicationContext
- 所有已实现的接口:
Closeable
,AutoCloseable
,Aware
,BeanFactory
,BeanNameAware
,DisposableBean
,HierarchicalBeanFactory
,InitializingBean
,ListableBeanFactory
,ApplicationContext
,ApplicationEventPublisher
,ConfigurableApplicationContext
,Lifecycle
,MessageSource
,EnvironmentCapable
,ResourceLoader
,ResourcePatternResolver
,ThemeSource
,ConfigurableWebApplicationContext
,WebApplicationContext
public class XmlWebApplicationContext extends AbstractRefreshableWebApplicationContext
WebApplicationContext
implementation which takes its configuration from XML documents, understood by anXmlBeanDefinitionReader
. This is essentially the equivalent ofGenericXmlApplicationContext
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 ofFrameworkServlet
. Config locations can either denote concrete files like "/WEB-INF/context.xml" or Ant-style patterns like "/WEB-INF/*-context.xml" (seePathMatcher
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.- 作者:
- Rod Johnson, Juergen Hoeller
- 另请参阅:
AbstractRefreshableWebApplicationContext.setNamespace(java.lang.String)
,AbstractRefreshableConfigApplicationContext.setConfigLocations(java.lang.String...)
,XmlBeanDefinitionReader
,ContextLoader.initWebApplicationContext(javax.servlet.ServletContext)
,FrameworkServlet.initWebApplicationContext()
嵌套类概要
从类继承的嵌套类/接口 org.springframework.core.io.DefaultResourceLoader
DefaultResourceLoader.ClassPathContextResource
字段概要
字段 修饰符和类型 字段 说明 static String
DEFAULT_CONFIG_LOCATION
Default config location for the root contextstatic String
DEFAULT_CONFIG_LOCATION_PREFIX
Default prefix for building a config location for a namespacestatic String
DEFAULT_CONFIG_LOCATION_SUFFIX
Default suffix for building a config location for a namespace从类继承的字段 org.springframework.context.support.AbstractApplicationContext
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
从接口继承的字段 org.springframework.beans.factory.BeanFactory
FACTORY_BEAN_PREFIX
从接口继承的字段 org.springframework.context.ConfigurableApplicationContext
CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME
从接口继承的字段 org.springframework.web.context.ConfigurableWebApplicationContext
APPLICATION_CONTEXT_ID_PREFIX, SERVLET_CONFIG_BEAN_NAME
从接口继承的字段 org.springframework.core.io.ResourceLoader
CLASSPATH_URL_PREFIX
从接口继承的字段 org.springframework.core.io.support.ResourcePatternResolver
CLASSPATH_ALL_URL_PREFIX
从接口继承的字段 org.springframework.web.context.WebApplicationContext
CONTEXT_ATTRIBUTES_BEAN_NAME, CONTEXT_PARAMETERS_BEAN_NAME, ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_APPLICATION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION, SERVLET_CONTEXT_BEAN_NAME
构造器概要
构造器 构造器 说明 XmlWebApplicationContext()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected String[]
getDefaultConfigLocations()
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 void
initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader)
Initialize the bean definition reader used for loading the bean definitions of this context.protected void
loadBeanDefinitions(DefaultListableBeanFactory beanFactory)
Loads the bean definitions via an XmlBeanDefinitionReader.protected void
loadBeanDefinitions(XmlBeanDefinitionReader reader)
Load the bean definitions with the given XmlBeanDefinitionReader.从类继承的方法 org.springframework.web.context.support.AbstractRefreshableWebApplicationContext
createEnvironment, getApplicationName, getConfigLocations, getNamespace, getResourceByPath, getResourcePatternResolver, getServletConfig, getServletContext, getTheme, initPropertySources, onRefresh, postProcessBeanFactory, setNamespace, setServletConfig, setServletContext
从类继承的方法 org.springframework.context.support.AbstractRefreshableConfigApplicationContext
afterPropertiesSet, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setId
从类继承的方法 org.springframework.context.support.AbstractRefreshableApplicationContext
assertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences
从类继承的方法 org.springframework.context.support.AbstractApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResources, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setEnvironment, setParent, start, stop, toString
从类继承的方法 org.springframework.core.io.DefaultResourceLoader
addProtocolResolver, getClassLoader, getProtocolResolvers, getResource, setClassLoader
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
从接口继承的方法 org.springframework.context.ApplicationContext
getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate
从接口继承的方法 org.springframework.context.ApplicationEventPublisher
publishEvent, publishEvent
从接口继承的方法 org.springframework.beans.factory.BeanFactory
containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
从接口继承的方法 org.springframework.context.ConfigurableApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, addProtocolResolver, close, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, setEnvironment, setId, setParent
从接口继承的方法 org.springframework.web.context.ConfigurableWebApplicationContext
setConfigLocation, setConfigLocations
从接口继承的方法 org.springframework.beans.factory.HierarchicalBeanFactory
containsLocalBean, getParentBeanFactory
从接口继承的方法 org.springframework.beans.factory.ListableBeanFactory
containsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation
从接口继承的方法 org.springframework.context.MessageSource
getMessage, getMessage, getMessage
从接口继承的方法 org.springframework.core.io.ResourceLoader
getClassLoader, getResource
从接口继承的方法 org.springframework.core.io.support.ResourcePatternResolver
getResources
字段详细资料
DEFAULT_CONFIG_LOCATION
public static final String DEFAULT_CONFIG_LOCATION
Default config location for the root context- 另请参阅:
- 常量字段值
DEFAULT_CONFIG_LOCATION_PREFIX
public static final String DEFAULT_CONFIG_LOCATION_PREFIX
Default prefix for building a config location for a namespace- 另请参阅:
- 常量字段值
DEFAULT_CONFIG_LOCATION_SUFFIX
public static final String DEFAULT_CONFIG_LOCATION_SUFFIX
Default suffix for building a config location for a namespace- 另请参阅:
- 常量字段值
构造器详细资料
XmlWebApplicationContext
public XmlWebApplicationContext()
方法详细资料
loadBeanDefinitions
protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws BeansException, IOException
Loads the bean definitions via an XmlBeanDefinitionReader.- 指定者:
loadBeanDefinitions
在类中AbstractRefreshableApplicationContext
- 参数:
beanFactory
- the bean factory to load bean definitions into- 抛出:
BeansException
- if parsing of the bean definitions failedIOException
- if loading of bean definition files failed- 另请参阅:
XmlBeanDefinitionReader
,initBeanDefinitionReader(org.springframework.beans.factory.xml.XmlBeanDefinitionReader)
,loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory)
initBeanDefinitionReader
protected void initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader)
Initialize 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.
- 参数:
beanDefinitionReader
- the bean definition reader used by this context- 另请参阅:
XmlBeanDefinitionReader.setValidationMode(int)
,XmlBeanDefinitionReader.setDocumentReaderClass(java.lang.Class<?>)
loadBeanDefinitions
protected void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws IOException
Load 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.
- 抛出:
IOException
- if the required XML document isn't found- 另请参阅:
AbstractRefreshableApplicationContext.refreshBeanFactory()
,AbstractRefreshableWebApplicationContext.getConfigLocations()
,AbstractApplicationContext.getResources(java.lang.String)
,AbstractRefreshableWebApplicationContext.getResourcePatternResolver()
getDefaultConfigLocations
protected String[] getDefaultConfigLocations()
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").- 覆盖:
getDefaultConfigLocations
在类中AbstractRefreshableConfigApplicationContext
- 返回:
- an array of default config locations, if any
- 另请参阅:
AbstractRefreshableConfigApplicationContext.setConfigLocations(java.lang.String...)