org.springframework.context.support

## 类 FileSystemXmlApplicationContext

- 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.FileSystemXmlApplicationContext

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

  Standalone XML application context, taking the context definition files from the file system or from URLs, interpreting plain paths as relative file system locations (e.g. "mydir/myfile.txt"). Useful for test harnesses as well as for standalone environments.

  NOTE: Plain paths will always be interpreted as relative to the current VM working directory, even if they start with a slash. (This is consistent with the semantics in a Servlet container.) Use an explicit "file:" prefix to enforce an absolute file path.

  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)`, `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`

  - ### 构造器概要

    构造器
    构造器和说明
    `FileSystemXmlApplicationContext()` Create a new FileSystemXmlApplicationContext for bean-style configuration.
    `FileSystemXmlApplicationContext(ApplicationContext parent)` Create a new FileSystemXmlApplicationContext for bean-style configuration.
    `FileSystemXmlApplicationContext(String... configLocations)` Create a new FileSystemXmlApplicationContext, loading the definitions from the given XML files and automatically refreshing the context.
    `FileSystemXmlApplicationContext(String configLocation)` Create a new FileSystemXmlApplicationContext, loading the definitions from the given XML file and automatically refreshing the context.
    `FileSystemXmlApplicationContext(String[] configLocations, ApplicationContext parent)` Create a new FileSystemXmlApplicationContext with the given parent, loading the definitions from the given XML files and automatically refreshing the context.
    `FileSystemXmlApplicationContext(String[] configLocations, boolean refresh)` Create a new FileSystemXmlApplicationContext, loading the definitions from the given XML files.
    `FileSystemXmlApplicationContext(String[] configLocations, boolean refresh, ApplicationContext parent)` Create a new FileSystemXmlApplicationContext with the given parent, loading the definitions from the given XML files.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected org.springframework.core.io.Resource` | `getResourceByPath(String path)` Resolve resource paths as file system paths.

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

      `getConfigResources, 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, 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`

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

    - #### FileSystemXmlApplicationContext

          public FileSystemXmlApplicationContext()

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

    - #### FileSystemXmlApplicationContext

          public FileSystemXmlApplicationContext(ApplicationContext parent)

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

    - #### FileSystemXmlApplicationContext

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

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

    - #### FileSystemXmlApplicationContext

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

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

    - #### FileSystemXmlApplicationContext

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

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

    - #### FileSystemXmlApplicationContext

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

      Create a new FileSystemXmlApplicationContext, loading the definitions from the given XML files.
      参数:
        `configLocations` - array of file paths
        `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()`

    - #### FileSystemXmlApplicationContext

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

      Create a new FileSystemXmlApplicationContext with the given parent, loading the definitions from the given XML files.
      参数:
        `configLocations` - array of file paths
        `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()`

  - ### 方法详细资料

    - #### getResourceByPath

          protected org.springframework.core.io.Resource getResourceByPath(String path)

      Resolve resource paths as file system paths.

      Note: Even if a given path starts with a slash, it will get interpreted as relative to the current VM working directory. This is consistent with the semantics in a Servlet container.

      覆盖:
        `getResourceByPath` 在类中 `org.springframework.core.io.DefaultResourceLoader`
      参数:
        `path` - path to the resource
      返回:
        Resource handle
      另请参阅:
        `org.springframework.web.context.support.XmlWebApplicationContext#getResourceByPath`