org.springframework.context.support

## 类 AbstractXmlApplicationContext

- 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.context.support.AbstractXmlApplicationContext

- 所有已实现的接口:
    Closeable, AutoCloseable, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactory, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.HierarchicalBeanFactory, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.ListableBeanFactory, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, org.springframework.core.env.EnvironmentCapable, org.springframework.core.io.ResourceLoader, org.springframework.core.io.support.ResourcePatternResolver
  直接已知子类:
    ClassPathXmlApplicationContext, FileSystemXmlApplicationContext

      public abstract class AbstractXmlApplicationContext
      extends AbstractRefreshableConfigApplicationContext

  Convenient base class for `ApplicationContext` implementations, drawing configuration from XML documents containing bean definitions understood by an `XmlBeanDefinitionReader`.

  Subclasses just have to implement the `getConfigResources()` and/or the `AbstractRefreshableConfigApplicationContext.getConfigLocations()` method. Furthermore, they might override the `DefaultResourceLoader.getResourceByPath(java.lang.String)` hook to interpret relative paths in an environment-specific fashion, and/or `AbstractApplicationContext.getResourcePatternResolver()` for extended pattern resolution.

  作者:
    Rod Johnson, Juergen Hoeller
  另请参阅:
    `getConfigResources()`, `AbstractRefreshableConfigApplicationContext.getConfigLocations()`, `XmlBeanDefinitionReader`

- - ### 嵌套类概要

    - ### 从类继承的嵌套类/接口 org.springframework.core.io.DefaultResourceLoader

      `org.springframework.core.io.DefaultResourceLoader.ClassPathContextResource`

  - ### 字段概要

    - ### 从类继承的字段 org.springframework.context.support.AbstractApplicationContext

      `APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME`

    - ### 从接口继承的字段 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.beans.factory.BeanFactory

      `FACTORY_BEAN_PREFIX`

    - ### 从接口继承的字段 org.springframework.core.io.support.ResourcePatternResolver

      `CLASSPATH_ALL_URL_PREFIX`

    - ### 从接口继承的字段 org.springframework.core.io.ResourceLoader

      `CLASSPATH_URL_PREFIX`

  - ### 构造器概要

    构造器
    构造器和说明
    `AbstractXmlApplicationContext()` Create a new AbstractXmlApplicationContext with no parent.
    `AbstractXmlApplicationContext(ApplicationContext parent)` Create a new AbstractXmlApplicationContext with the given parent context.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected org.springframework.core.io.Resource[]` | `getConfigResources()` Return an array of Resource objects, referring to the XML bean definition files that this context should be built with.
    `protected void` | `initBeanDefinitionReader(org.springframework.beans.factory.xml.XmlBeanDefinitionReader reader)` Initialize the bean definition reader used for loading the bean definitions of this context.
    `protected void` | `loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory)` Loads the bean definitions via an XmlBeanDefinitionReader.
    `protected void` | `loadBeanDefinitions(org.springframework.beans.factory.xml.XmlBeanDefinitionReader reader)` Load the bean definitions with the given XmlBeanDefinitionReader.
    `void` | `setValidating(boolean validating)` Set whether to use XML validation.

    - ### 从类继承的方法 org.springframework.context.support.AbstractRefreshableConfigApplicationContext

      `afterPropertiesSet, getConfigLocations, getDefaultConfigLocations, 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, createEnvironment, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, 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, getResourcePatternResolver, getResources, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setEnvironment, setParent, start, stop, toString`

    - ### 从类继承的方法 org.springframework.core.io.DefaultResourceLoader

      `addProtocolResolver, clearResourceCaches, getClassLoader, getProtocolResolvers, getResource, getResourceByPath, getResourceCache, setClassLoader`

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### 从接口继承的方法 org.springframework.context.ConfigurableApplicationContext

      `addProtocolResolver`

    - ### 从接口继承的方法 org.springframework.core.io.ResourceLoader

      `getClassLoader, getResource`

- - ### 构造器详细资料

    - #### AbstractXmlApplicationContext

          public AbstractXmlApplicationContext()

      Create a new AbstractXmlApplicationContext with no parent.

    - #### AbstractXmlApplicationContext

          public AbstractXmlApplicationContext(@Nullable
                                               ApplicationContext parent)

      Create a new AbstractXmlApplicationContext with the given parent context.
      参数:
        `parent` - the parent context

  - ### 方法详细资料

    - #### setValidating

          public void setValidating(boolean validating)

      Set whether to use XML validation. Default is `true`.

    - #### loadBeanDefinitions

          protected void loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory)
                                      throws org.springframework.beans.BeansException,
                                             IOException

      Loads the bean definitions via an XmlBeanDefinitionReader.
      指定者:
        `loadBeanDefinitions` 在类中 `AbstractRefreshableApplicationContext`
      参数:
        `beanFactory` - the bean factory to load bean definitions into
      抛出:
        `org.springframework.beans.BeansException` - if parsing of the bean definitions failed
        `IOException` - 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(org.springframework.beans.factory.xml.XmlBeanDefinitionReader reader)

      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.

      参数:
        `reader` - the bean definition reader used by this context
      另请参阅:
        `XmlBeanDefinitionReader.setDocumentReaderClass(java.lang.Class<? extends org.springframework.beans.factory.xml.BeanDefinitionDocumentReader>)`

    - #### loadBeanDefinitions

          protected void loadBeanDefinitions(org.springframework.beans.factory.xml.XmlBeanDefinitionReader reader)
                                      throws org.springframework.beans.BeansException,
                                             IOException

      Load the bean definitions with the given XmlBeanDefinitionReader.

      The lifecycle of the bean factory is handled by the `AbstractRefreshableApplicationContext.refreshBeanFactory()` method; hence this method is just supposed to load and/or register bean definitions.

      参数:
        `reader` - the XmlBeanDefinitionReader to use
      抛出:
        `org.springframework.beans.BeansException` - in case of bean registration errors
        `IOException` - if the required XML document isn't found
      另请参阅:
        `AbstractRefreshableApplicationContext.refreshBeanFactory()`, `AbstractRefreshableConfigApplicationContext.getConfigLocations()`, `AbstractApplicationContext.getResources(java.lang.String)`, `AbstractApplicationContext.getResourcePatternResolver()`

    - #### getConfigResources

          @Nullable
          protected org.springframework.core.io.Resource[] getConfigResources()

      Return an array of Resource objects, referring to the XML bean definition files that this context should be built with.

      The default implementation returns `null`. Subclasses can override this to provide pre-built Resource objects rather than location Strings.

      返回:
        an array of Resource objects, or `null` if none
      另请参阅:
        `AbstractRefreshableConfigApplicationContext.getConfigLocations()`