## Uses of Interface
org.springframework.beans.factory.support.BeanDefinitionRegistry

- Packages that use BeanDefinitionRegistry
  Package | Description
  --- | ---
  org.springframework.aop.config | Support package for declarative AOP configuration, with XML schema being the primary configuration format.
  org.springframework.aop.scope | Support for AOP-based scoping of target objects, with configurable backend.
  org.springframework.beans.factory.groovy | Support package for Groovy-based bean definitions.
  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.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.jdbc.core.support | Classes supporting the `org.springframework.jdbc.core` package.
  org.springframework.scripting.config | Support package for Spring's dynamic language machinery, with XML schema being the primary configuration format.
  org.springframework.web.context.support | Classes supporting the `org.springframework.web.context` package, such as WebApplicationContext implementations and various utility classes.

- - ### Uses of BeanDefinitionRegistry in org.springframework.aop.config

    Methods in org.springframework.aop.config with parameters of type BeanDefinitionRegistry
    Modifier and Type | Method and Description
    --- | ---
    `static void` | AopConfigUtils.`forceAutoProxyCreatorToExposeProxy(BeanDefinitionRegistry registry)`
    `static void` | AopConfigUtils.`forceAutoProxyCreatorToUseClassProxying(BeanDefinitionRegistry registry)`
    `static BeanDefinition` | AopConfigUtils.`registerAspectJAnnotationAutoProxyCreatorIfNecessary(BeanDefinitionRegistry registry)`
    `static BeanDefinition` | AopConfigUtils.`registerAspectJAnnotationAutoProxyCreatorIfNecessary(BeanDefinitionRegistry registry, Object source)`
    `static BeanDefinition` | AopConfigUtils.`registerAspectJAutoProxyCreatorIfNecessary(BeanDefinitionRegistry registry)`
    `static BeanDefinition` | AopConfigUtils.`registerAspectJAutoProxyCreatorIfNecessary(BeanDefinitionRegistry registry, Object source)`
    `static BeanDefinition` | AopConfigUtils.`registerAutoProxyCreatorIfNecessary(BeanDefinitionRegistry registry)`
    `static BeanDefinition` | AopConfigUtils.`registerAutoProxyCreatorIfNecessary(BeanDefinitionRegistry registry, Object source)`

  - ### Uses of BeanDefinitionRegistry in org.springframework.aop.scope

    Methods in org.springframework.aop.scope with parameters of type BeanDefinitionRegistry
    Modifier and Type | Method and Description
    --- | ---
    `static BeanDefinitionHolder` | ScopedProxyUtils.`createScopedProxy(BeanDefinitionHolder definition, BeanDefinitionRegistry registry, boolean proxyTargetClass)` Generate a scoped proxy for the supplied target bean, registering the target bean with an internal name and setting 'targetBeanName' on the scoped proxy.

  - ### Uses of BeanDefinitionRegistry in org.springframework.beans.factory.groovy

    Constructors in org.springframework.beans.factory.groovy with parameters of type BeanDefinitionRegistry
    Constructor and Description
    `GroovyBeanDefinitionReader(BeanDefinitionRegistry registry)` Create a new `GroovyBeanDefinitionReader` for the given `BeanDefinitionRegistry`.

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

    Classes in org.springframework.beans.factory.support that implement BeanDefinitionRegistry
    Modifier and Type | Class and Description
    --- | ---
    `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.
    `class` | `SimpleBeanDefinitionRegistry` Simple implementation of the `BeanDefinitionRegistry` interface.

    Methods in org.springframework.beans.factory.support that return BeanDefinitionRegistry
    Modifier and Type | Method and Description
    --- | ---
    `BeanDefinitionRegistry` | AbstractBeanDefinitionReader.`getBeanFactory()` Deprecated. as of Spring Framework 5.3.15 in favor of `AbstractBeanDefinitionReader.getRegistry()`, to be removed in Spring Framework 6.0
    `BeanDefinitionRegistry` | BeanDefinitionReader.`getRegistry()` Return the bean factory to register the bean definitions with.
    `BeanDefinitionRegistry` | AbstractBeanDefinitionReader.`getRegistry()`

    Methods in org.springframework.beans.factory.support with parameters of type BeanDefinitionRegistry
    Modifier and Type | Method and Description
    --- | ---
    `String` | DefaultBeanNameGenerator.`generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry)`
    `String` | BeanNameGenerator.`generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry)` Generate a bean name for the given bean definition.
    `static String` | BeanDefinitionReaderUtils.`generateBeanName(BeanDefinition beanDefinition, BeanDefinitionRegistry registry)` Generate a bean name for the given top-level bean definition, unique within the given bean factory.
    `static String` | BeanDefinitionReaderUtils.`generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry, boolean isInnerBean)` Generate a bean name for the given bean definition, unique within the given bean factory.
    `void` | BeanDefinitionRegistryPostProcessor.`postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)` Modify the application context's internal bean definition registry after its standard initialization.
    `static void` | BeanDefinitionReaderUtils.`registerBeanDefinition(BeanDefinitionHolder definitionHolder, BeanDefinitionRegistry registry)` Register the given bean definition with the given bean factory.
    `static String` | BeanDefinitionReaderUtils.`registerWithGeneratedName(AbstractBeanDefinition definition, BeanDefinitionRegistry registry)` Register the given bean definition with a generated name, unique within the given bean factory.
    `static String` | BeanDefinitionReaderUtils.`uniqueBeanName(String beanName, BeanDefinitionRegistry registry)` Turn the given bean name into a unique bean name for the given bean factory, appending a unique counter as suffix if necessary.

    Constructors in org.springframework.beans.factory.support with parameters of type BeanDefinitionRegistry
    Constructor and Description
    `AbstractBeanDefinitionReader(BeanDefinitionRegistry registry)` Create a new AbstractBeanDefinitionReader for the given bean factory.
    `PropertiesBeanDefinitionReader(BeanDefinitionRegistry registry)` Deprecated. Create new PropertiesBeanDefinitionReader for the given bean factory.

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

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

    Methods in org.springframework.beans.factory.xml that return BeanDefinitionRegistry
    Modifier and Type | Method and Description
    --- | ---
    `BeanDefinitionRegistry` | ParserContext.`getRegistry()`
    `BeanDefinitionRegistry` | XmlReaderContext.`getRegistry()` Return the bean definition registry to use.

    Methods in org.springframework.beans.factory.xml with parameters of type BeanDefinitionRegistry
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | AbstractBeanDefinitionParser.`registerBeanDefinition(BeanDefinitionHolder definition, BeanDefinitionRegistry registry)` Register the supplied `bean` with the supplied `registry`.

    Constructors in org.springframework.beans.factory.xml with parameters of type BeanDefinitionRegistry
    Constructor and Description
    `XmlBeanDefinitionReader(BeanDefinitionRegistry registry)` Create new XmlBeanDefinitionReader for the given bean factory.

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

    Classes in org.springframework.context.annotation that implement BeanDefinitionRegistry
    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.

    Methods in org.springframework.context.annotation that return BeanDefinitionRegistry
    Modifier and Type | Method and Description
    --- | ---
    `BeanDefinitionRegistry` | ConditionContext.`getRegistry()` Return the `BeanDefinitionRegistry` that will hold the bean definition should the condition match.
    `BeanDefinitionRegistry` | ClassPathBeanDefinitionScanner.`getRegistry()` Return the BeanDefinitionRegistry that this scanner operates on.
    `protected BeanDefinitionRegistry` | ClassPathScanningCandidateComponentProvider.`getRegistry()` Return the `BeanDefinitionRegistry` used by this scanner, if any.
    `BeanDefinitionRegistry` | AnnotatedBeanDefinitionReader.`getRegistry()` Get the BeanDefinitionRegistry that this reader operates on.

    Methods in org.springframework.context.annotation with parameters of type BeanDefinitionRegistry
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | AnnotationBeanNameGenerator.`buildDefaultBeanName(BeanDefinition definition, BeanDefinitionRegistry registry)` Derive a default bean name from the given bean definition.
    `static List<TypeFilter>` | TypeFilterUtils.`createTypeFiltersFor(AnnotationAttributes filterAttributes, Environment environment, ResourceLoader resourceLoader, BeanDefinitionRegistry registry)` Create type filters from the supplied `AnnotationAttributes`, such as those sourced from `ComponentScan.includeFilters()` or `ComponentScan.excludeFilters()`.
    `String` | AnnotationBeanNameGenerator.`generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry)`
    `void` | ConfigurationClassPostProcessor.`postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)` Derive further bean definitions from the configuration classes in the registry.
    `void` | ConfigurationClassPostProcessor.`processConfigBeanDefinitions(BeanDefinitionRegistry registry)` Build and validate a configuration model based on the registry of `Configuration` classes.
    `static void` | AnnotationConfigUtils.`registerAnnotationConfigProcessors(BeanDefinitionRegistry registry)` Register all relevant annotation post processors in the given registry.
    `static Set<BeanDefinitionHolder>` | AnnotationConfigUtils.`registerAnnotationConfigProcessors(BeanDefinitionRegistry registry, Object source)` Register all relevant annotation post processors in the given registry.
    `protected void` | ClassPathBeanDefinitionScanner.`registerBeanDefinition(BeanDefinitionHolder definitionHolder, BeanDefinitionRegistry registry)` Register the specified bean with the given registry.
    `default void` | ImportBeanDefinitionRegistrar.`registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry)` Register bean definitions as necessary based on the given annotation metadata of the importing `@Configuration` class.
    `void` | AutoProxyRegistrar.`registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry)` Register, escalate, and configure the standard auto proxy creator (APC) against the given registry.
    `default void` | ImportBeanDefinitionRegistrar.`registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, BeanNameGenerator importBeanNameGenerator)` Register bean definitions as necessary based on the given annotation metadata of the importing `@Configuration` class.

    Constructors in org.springframework.context.annotation with parameters of type BeanDefinitionRegistry
    Constructor and Description
    `AnnotatedBeanDefinitionReader(BeanDefinitionRegistry registry)` Create a new `AnnotatedBeanDefinitionReader` for the given registry.
    `AnnotatedBeanDefinitionReader(BeanDefinitionRegistry registry, Environment environment)` Create a new `AnnotatedBeanDefinitionReader` for the given registry, using the given `Environment`.
    `ClassPathBeanDefinitionScanner(BeanDefinitionRegistry registry)` Create a new `ClassPathBeanDefinitionScanner` for the given bean factory.
    `ClassPathBeanDefinitionScanner(BeanDefinitionRegistry registry, boolean useDefaultFilters)` Create a new `ClassPathBeanDefinitionScanner` for the given bean factory.
    `ClassPathBeanDefinitionScanner(BeanDefinitionRegistry registry, boolean useDefaultFilters, Environment environment)` Create a new `ClassPathBeanDefinitionScanner` for the given bean factory and using the given `Environment` when evaluating bean definition profile metadata.
    `ClassPathBeanDefinitionScanner(BeanDefinitionRegistry registry, boolean useDefaultFilters, Environment environment, ResourceLoader resourceLoader)` Create a new `ClassPathBeanDefinitionScanner` for the given bean factory and using the given `Environment` when evaluating bean definition profile metadata.

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

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

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

    Methods in org.springframework.jca.context with parameters of type BeanDefinitionRegistry
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | SpringContextResourceAdapter.`loadBeanDefinitions(BeanDefinitionRegistry registry, String[] configLocations)` Load the bean definitions into the given registry, based on the specified configuration files.

  - ### Uses of BeanDefinitionRegistry in org.springframework.jdbc.core.support

    Constructors in org.springframework.jdbc.core.support with parameters of type BeanDefinitionRegistry
    Constructor and Description
    `JdbcBeanDefinitionReader(BeanDefinitionRegistry beanFactory)` Deprecated. Create a new JdbcBeanDefinitionReader for the given bean factory, using a default PropertiesBeanDefinitionReader underneath.

  - ### Uses of BeanDefinitionRegistry in org.springframework.scripting.config

    Methods in org.springframework.scripting.config with parameters of type BeanDefinitionRegistry
    Modifier and Type | Method and Description
    --- | ---
    `static BeanDefinition` | LangNamespaceUtils.`registerScriptFactoryPostProcessorIfNecessary(BeanDefinitionRegistry registry)` Register a `ScriptFactoryPostProcessor` bean definition in the supplied `BeanDefinitionRegistry` if the `ScriptFactoryPostProcessor` hasn't already been registered.

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

    Classes in org.springframework.web.context.support that implement BeanDefinitionRegistry
    Modifier and Type | Class and Description
    --- | ---
    `class` | `GenericWebApplicationContext` Subclass of `GenericApplicationContext`, suitable for web environments.
    `class` | `StaticWebApplicationContext` Static `WebApplicationContext` implementation for testing.