## Uses of Interface
org.springframework.beans.factory.HierarchicalBeanFactory

- Packages that use HierarchicalBeanFactory
  Package | Description
  --- | ---
  org.springframework.beans.factory.config | SPI interfaces and configuration-related convenience classes for bean factories.
  org.springframework.beans.factory.support | Classes supporting the `org.springframework.beans.factory` package.
  org.springframework.beans.factory.xml | Contains an abstract XML-based `BeanFactory` implementation, including a standard "spring-beans" XSD.
  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.jca.context | Integration package that allows for deploying a Spring application context as a JCA 1.7 compliant RAR file.
  org.springframework.web.context | Contains a variant of the application context interface for web applications, and the ContextLoaderListener that bootstraps a root web application context.
  org.springframework.web.context.support | Classes supporting the `org.springframework.web.context` package, such as WebApplicationContext implementations and various utility classes.

- - ### Uses of HierarchicalBeanFactory in org.springframework.beans.factory.config

    Subinterfaces of HierarchicalBeanFactory in org.springframework.beans.factory.config
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ConfigurableBeanFactory` Configuration interface to be implemented by most bean factories.
    `interface` | `ConfigurableListableBeanFactory` Configuration interface to be implemented by most listable bean factories.

  - ### Uses of HierarchicalBeanFactory in org.springframework.beans.factory.support

    Classes in org.springframework.beans.factory.support that implement HierarchicalBeanFactory
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractAutowireCapableBeanFactory` Abstract bean factory superclass that implements default bean creation, with the full capabilities specified by the `RootBeanDefinition` class.
    `class` | `AbstractBeanFactory` Abstract base class for `BeanFactory` implementations, providing the full capabilities of the `ConfigurableBeanFactory` SPI.
    `class` | `DefaultListableBeanFactory` Spring's default implementation of the `ConfigurableListableBeanFactory` and `BeanDefinitionRegistry` interfaces: a full-fledged bean factory based on bean definition metadata, extensible through post-processors.

  - ### Uses of HierarchicalBeanFactory in org.springframework.beans.factory.xml

    Classes in org.springframework.beans.factory.xml that implement HierarchicalBeanFactory
    Modifier and Type | Class and Description
    --- | ---
    `class` | `XmlBeanFactory` Deprecated. as of Spring 3.1 in favor of `DefaultListableBeanFactory` and `XmlBeanDefinitionReader`

  - ### Uses of HierarchicalBeanFactory in org.springframework.context

    Subinterfaces of HierarchicalBeanFactory in org.springframework.context
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ApplicationContext` Central interface to provide configuration for an application.
    `interface` | `ConfigurableApplicationContext` SPI interface to be implemented by most if not all application contexts.

  - ### Uses of HierarchicalBeanFactory in org.springframework.context.annotation

    Classes in org.springframework.context.annotation that implement HierarchicalBeanFactory
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AnnotationConfigApplicationContext` Standalone application context, accepting component classes as input — in particular `@Configuration`-annotated classes, but also plain `@Component` types and JSR-330 compliant classes using `javax.inject` annotations.

  - ### Uses of HierarchicalBeanFactory in org.springframework.context.support

    Classes in org.springframework.context.support that implement HierarchicalBeanFactory
    Modifier and Type | Class and Description
    --- | ---
    `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.

  - ### Uses of HierarchicalBeanFactory in org.springframework.jca.context

    Classes in org.springframework.jca.context that implement HierarchicalBeanFactory
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ResourceAdapterApplicationContext` `ApplicationContext` implementation for a JCA ResourceAdapter.

  - ### Uses of HierarchicalBeanFactory in org.springframework.web.context

    Subinterfaces of HierarchicalBeanFactory in org.springframework.web.context
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ConfigurableWebApplicationContext` Interface to be implemented by configurable web application contexts.
    `interface` | `WebApplicationContext` Interface to provide configuration for a web application.

  - ### Uses of HierarchicalBeanFactory in org.springframework.web.context.support

    Classes in org.springframework.web.context.support that implement HierarchicalBeanFactory
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractRefreshableWebApplicationContext` `AbstractRefreshableApplicationContext` subclass which implements the `ConfigurableWebApplicationContext` interface for web environments.
    `class` | `AnnotationConfigWebApplicationContext` `WebApplicationContext` implementation which accepts component classes as input — in particular `@Configuration` classes, but also plain `@Component` classes as well as JSR-330 compliant classes using `javax.inject` annotations.
    `class` | `GenericWebApplicationContext` Subclass of `GenericApplicationContext`, suitable for web environments.
    `class` | `GroovyWebApplicationContext` `WebApplicationContext` implementation which takes its configuration from Groovy bean definition scripts and/or XML files, as understood by a `GroovyBeanDefinitionReader`.
    `class` | `StaticWebApplicationContext` Static `WebApplicationContext` implementation for testing.
    `class` | `XmlWebApplicationContext` `WebApplicationContext` implementation which takes its configuration from XML documents, understood by an `XmlBeanDefinitionReader`.