## 接口的使用
org.springframework.context.ConfigurableApplicationContext

- 使用ConfigurableApplicationContext的程序包
  程序包 | 说明
  --- | ---
  org.springframework.context | This package builds on the beans package to add support for message sources and for the Observer design pattern, and the ability for application objects to obtain resources using a consistent API.
  org.springframework.context.annotation | Annotation support for the Application Context, including JSR-250 "common" annotations, component-scanning, and Java-based metadata for creating Spring-managed objects.
  org.springframework.context.support | Classes supporting the org.springframework.context package, such as abstract base classes for ApplicationContext implementations and a MessageSource implementation.

- - ### org.springframework.context中ConfigurableApplicationContext的使用

    类型参数类型为ConfigurableApplicationContext的org.springframework.context中的类
    限定符和类型 | 接口和说明
    --- | ---
    `interface` | `ApplicationContextInitializer<C extends ConfigurableApplicationContext>` Callback interface for initializing a Spring `ConfigurableApplicationContext` prior to being refreshed.

  - ### org.springframework.context.annotation中ConfigurableApplicationContext的使用

    实现ConfigurableApplicationContext的org.springframework.context.annotation中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AnnotationConfigApplicationContext` Standalone application context, accepting annotated classes as input - in particular `@Configuration`-annotated classes, but also plain `@Component` types and JSR-330 compliant classes using `javax.inject` annotations.

  - ### org.springframework.context.support中ConfigurableApplicationContext的使用

    实现ConfigurableApplicationContext的org.springframework.context.support中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AbstractApplicationContext` Abstract implementation of the `ApplicationContext` interface.
    `class` | `AbstractRefreshableApplicationContext` Base class for `ApplicationContext` implementations which are supposed to support multiple calls to `AbstractApplicationContext.refresh()`, creating a new internal bean factory instance every time.
    `class` | `AbstractRefreshableConfigApplicationContext` `AbstractRefreshableApplicationContext` subclass that adds common handling of specified config locations.
    `class` | `AbstractXmlApplicationContext` Convenient base class for `ApplicationContext` implementations, drawing configuration from XML documents containing bean definitions understood by an `XmlBeanDefinitionReader`.
    `class` | `ClassPathXmlApplicationContext` 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.
    `class` | `FileSystemXmlApplicationContext` 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.
    `class` | `GenericApplicationContext` Generic ApplicationContext implementation that holds a single internal `DefaultListableBeanFactory` instance and does not assume a specific bean definition format.
    `class` | `GenericGroovyApplicationContext` An `ApplicationContext` implementation that extends `GenericApplicationContext` and implements `GroovyObject` such that beans can be retrieved with the dot de-reference syntax instead of using `AbstractApplicationContext.getBean(java.lang.String)`.
    `class` | `GenericXmlApplicationContext` Convenient application context with built-in XML support.
    `class` | `StaticApplicationContext` `ApplicationContext` implementation which supports programmatic registration of beans and messages, rather than reading bean definitions from external configuration sources.

    返回变量类型为ConfigurableApplicationContext的类型的org.springframework.context.support中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `protected Set<ConfigurableApplicationContext>` | LiveBeansView.`findApplicationContexts()` Find all applicable ApplicationContexts for the current application.

    类型变量类型为ConfigurableApplicationContext的org.springframework.context.support中的方法参数
    限定符和类型 | 方法和说明
    --- | ---
    `protected String` | LiveBeansView.`generateJson(Set<ConfigurableApplicationContext> contexts)` Actually generate a JSON snapshot of the beans in the given ApplicationContexts.