org.springframework.context.support

## 类 ClassPathXmlApplicationContext

- 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
          - - org.springframework.context.support.ClassPathXmlApplicationContext

- 所有已实现的接口:
    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

      public class ClassPathXmlApplicationContext
      extends AbstractXmlApplicationContext

  Standalone XML application context, taking the context definition files from the class path, interpreting plain paths as class path resource names that include the package path (e.g. "mypackage/myresource.txt"). Useful for test harnesses as well as for application contexts embedded within JARs.

  The config location defaults can be overridden via `AbstractRefreshableConfigApplicationContext.getConfigLocations()`, Config locations can either denote concrete files like "/myfiles/context.xml" or Ant-style patterns like "/myfiles/*-context.xml" (see the `AntPathMatcher` 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.

  This is a simple, one-stop shop convenience ApplicationContext. Consider using the `GenericApplicationContext` class in combination with an `XmlBeanDefinitionReader` for more flexible context setup.

  作者:
    Rod Johnson, Juergen Hoeller
  另请参阅:
    `DefaultResourceLoader.getResource(java.lang.String)`, `DefaultResourceLoader.getResourceByPath(java.lang.String)`, `GenericApplicationContext`

- - ### 嵌套类概要

    - ### 从类继承的嵌套类/接口 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`

  - ### 构造器概要

    构造器
    构造器和说明
    `ClassPathXmlApplicationContext()` Create a new ClassPathXmlApplicationContext for bean-style configuration.
    `ClassPathXmlApplicationContext(ApplicationContext parent)` Create a new ClassPathXmlApplicationContext for bean-style configuration.
    `ClassPathXmlApplicationContext(String... configLocations)` Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.
    `ClassPathXmlApplicationContext(String configLocation)` Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.
    `ClassPathXmlApplicationContext(String[] configLocations, ApplicationContext parent)` Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.
    `ClassPathXmlApplicationContext(String[] configLocations, boolean refresh)` Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files.
    `ClassPathXmlApplicationContext(String[] configLocations, boolean refresh, ApplicationContext parent)` Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files.
    `ClassPathXmlApplicationContext(String[] paths, Class<?> clazz)` Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.
    `ClassPathXmlApplicationContext(String[] paths, Class<?> clazz, ApplicationContext parent)` Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.
    `ClassPathXmlApplicationContext(String path, Class<?> clazz)` Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the 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.

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

      `initBeanDefinitionReader, loadBeanDefinitions, loadBeanDefinitions, setValidating`

    - ### 从类继承的方法 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`

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

    - #### ClassPathXmlApplicationContext

          public ClassPathXmlApplicationContext()

      Create a new ClassPathXmlApplicationContext for bean-style configuration.
      另请参阅:
        `AbstractRefreshableConfigApplicationContext.setConfigLocation(java.lang.String)`, `AbstractRefreshableConfigApplicationContext.setConfigLocations(java.lang.String...)`, `AbstractRefreshableConfigApplicationContext.afterPropertiesSet()`

    - #### ClassPathXmlApplicationContext

          public ClassPathXmlApplicationContext(ApplicationContext parent)

      Create a new ClassPathXmlApplicationContext for bean-style configuration.
      参数:
        `parent` - the parent context
      另请参阅:
        `AbstractRefreshableConfigApplicationContext.setConfigLocation(java.lang.String)`, `AbstractRefreshableConfigApplicationContext.setConfigLocations(java.lang.String...)`, `AbstractRefreshableConfigApplicationContext.afterPropertiesSet()`

    - #### ClassPathXmlApplicationContext

          public ClassPathXmlApplicationContext(String configLocation)
                                         throws org.springframework.beans.BeansException

      Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.
      参数:
        `configLocation` - resource location
      抛出:
        `org.springframework.beans.BeansException` - if context creation failed

    - #### ClassPathXmlApplicationContext

          public ClassPathXmlApplicationContext(String... configLocations)
                                         throws org.springframework.beans.BeansException

      Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.
      参数:
        `configLocations` - array of resource locations
      抛出:
        `org.springframework.beans.BeansException` - if context creation failed

    - #### ClassPathXmlApplicationContext

          public ClassPathXmlApplicationContext(String[] configLocations,
                                                @Nullable
                                                ApplicationContext parent)
                                         throws org.springframework.beans.BeansException

      Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.
      参数:
        `configLocations` - array of resource locations
        `parent` - the parent context
      抛出:
        `org.springframework.beans.BeansException` - if context creation failed

    - #### ClassPathXmlApplicationContext

          public ClassPathXmlApplicationContext(String[] configLocations,
                                                boolean refresh)
                                         throws org.springframework.beans.BeansException

      Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files.
      参数:
        `configLocations` - array of resource locations
        `refresh` - whether to automatically refresh the context, loading all bean definitions and creating all singletons. Alternatively, call refresh manually after further configuring the context.
      抛出:
        `org.springframework.beans.BeansException` - if context creation failed
      另请参阅:
        `AbstractApplicationContext.refresh()`

    - #### ClassPathXmlApplicationContext

          public ClassPathXmlApplicationContext(String[] configLocations,
                                                boolean refresh,
                                                @Nullable
                                                ApplicationContext parent)
                                         throws org.springframework.beans.BeansException

      Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files.
      参数:
        `configLocations` - array of resource locations
        `refresh` - whether to automatically refresh the context, loading all bean definitions and creating all singletons. Alternatively, call refresh manually after further configuring the context.
        `parent` - the parent context
      抛出:
        `org.springframework.beans.BeansException` - if context creation failed
      另请参阅:
        `AbstractApplicationContext.refresh()`

    - #### ClassPathXmlApplicationContext

          public ClassPathXmlApplicationContext(String path,
                                                Class<?> clazz)
                                         throws org.springframework.beans.BeansException

      Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.

      This is a convenience method to load class path resources relative to a given Class. For full flexibility, consider using a GenericApplicationContext with an XmlBeanDefinitionReader and a ClassPathResource argument.

      参数:
        `path` - relative (or absolute) path within the class path
        `clazz` - the class to load resources with (basis for the given paths)
      抛出:
        `org.springframework.beans.BeansException` - if context creation failed
      另请参阅:
        `ClassPathResource.ClassPathResource(String, Class)`, `GenericApplicationContext`, `XmlBeanDefinitionReader`

    - #### ClassPathXmlApplicationContext

          public ClassPathXmlApplicationContext(String[] paths,
                                                Class<?> clazz)
                                         throws org.springframework.beans.BeansException

      Create a new ClassPathXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.
      参数:
        `paths` - array of relative (or absolute) paths within the class path
        `clazz` - the class to load resources with (basis for the given paths)
      抛出:
        `org.springframework.beans.BeansException` - if context creation failed
      另请参阅:
        `ClassPathResource.ClassPathResource(String, Class)`, `GenericApplicationContext`, `XmlBeanDefinitionReader`

    - #### ClassPathXmlApplicationContext

          public ClassPathXmlApplicationContext(String[] paths,
                                                Class<?> clazz,
                                                @Nullable
                                                ApplicationContext parent)
                                         throws org.springframework.beans.BeansException

      Create a new ClassPathXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.
      参数:
        `paths` - array of relative (or absolute) paths within the class path
        `clazz` - the class to load resources with (basis for the given paths)
        `parent` - the parent context
      抛出:
        `org.springframework.beans.BeansException` - if context creation failed
      另请参阅:
        `ClassPathResource.ClassPathResource(String, Class)`, `GenericApplicationContext`, `XmlBeanDefinitionReader`

  - ### 方法详细资料

    - #### getConfigResources

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

      从类复制的说明: `AbstractXmlApplicationContext`
      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.

      覆盖:
        `getConfigResources` 在类中 `AbstractXmlApplicationContext`
      返回:
        an array of Resource objects, or `null` if none
      另请参阅:
        `AbstractRefreshableConfigApplicationContext.getConfigLocations()`