org.springframework.context.annotation

## Class AnnotatedBeanDefinitionReader

- java.lang.Object
- - org.springframework.context.annotation.AnnotatedBeanDefinitionReader

-     public class AnnotatedBeanDefinitionReader
      extends Object

  Convenient adapter for programmatic registration of annotated bean classes. This is an alternative to `ClassPathBeanDefinitionScanner`, applying the same resolution of annotations but for explicitly registered classes only.
  Since:
    3.0
  Author:
    Juergen Hoeller, Chris Beams, Sam Brannen
  See Also:
    `AnnotationConfigApplicationContext.register(java.lang.Class<?>...)`

- - ### Constructor Summary

    Constructors
    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 and using the given `Environment`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `BeanDefinitionRegistry` | `getRegistry()` Return the BeanDefinitionRegistry that this scanner operates on.
    `void` | `register(Class<?>... annotatedClasses)`
    `void` | `registerBean(Class<?> annotatedClass)`
    `void` | `registerBean(Class<?> annotatedClass, Class<? extends Annotation>... qualifiers)`
    `void` | `registerBean(Class<?> annotatedClass, String name, Class<? extends Annotation>... qualifiers)`
    `void` | `setBeanNameGenerator(BeanNameGenerator beanNameGenerator)` Set the BeanNameGenerator to use for detected bean classes.
    `void` | `setEnvironment(Environment environment)` Set the Environment to use when evaluating whether `@Profile`-annotated component classes should be registered.
    `void` | `setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver)` Set the ScopeMetadataResolver to use for detected bean classes.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AnnotatedBeanDefinitionReader

          public AnnotatedBeanDefinitionReader(BeanDefinitionRegistry registry)

      Create a new `AnnotatedBeanDefinitionReader` for the given registry. If the registry is `EnvironmentCapable`, e.g. is an `ApplicationContext`, the `Environment` will be inherited, otherwise a new `StandardEnvironment` will be created and used.
      Parameters:
        `registry` - the `BeanFactory` to load bean definitions into, in the form of a `BeanDefinitionRegistry`
      See Also:
        `AnnotatedBeanDefinitionReader(BeanDefinitionRegistry, Environment)`, `setEnvironment(Environment)`

    - #### AnnotatedBeanDefinitionReader

          public AnnotatedBeanDefinitionReader(BeanDefinitionRegistry registry,
                                       Environment environment)

      Create a new `AnnotatedBeanDefinitionReader` for the given registry and using the given `Environment`.
      Parameters:
        `registry` - the `BeanFactory` to load bean definitions into, in the form of a `BeanDefinitionRegistry`
        `environment` - the `Environment` to use when evaluating bean definition profiles.
      Since:
        3.1

  - ### Method Detail

    - #### getRegistry

          public final BeanDefinitionRegistry getRegistry()

      Return the BeanDefinitionRegistry that this scanner operates on.

    - #### setEnvironment

          public void setEnvironment(Environment environment)

      Set the Environment to use when evaluating whether `@Profile`-annotated component classes should be registered.

      The default is a `StandardEnvironment`.

      See Also:
        `registerBean(Class, String, Class...)`

    - #### setBeanNameGenerator

          public void setBeanNameGenerator(BeanNameGenerator beanNameGenerator)

      Set the BeanNameGenerator to use for detected bean classes.

      The default is a `AnnotationBeanNameGenerator`.

    - #### setScopeMetadataResolver

          public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver)

      Set the ScopeMetadataResolver to use for detected bean classes.

      The default is an `AnnotationScopeMetadataResolver`.

    - #### register

          public void register(Class<?>... annotatedClasses)

    - #### registerBean

          public void registerBean(Class<?> annotatedClass)

    - #### registerBean

          public void registerBean(Class<?> annotatedClass,
                          Class<? extends Annotation>... qualifiers)

    - #### registerBean

          public void registerBean(Class<?> annotatedClass,
                          String name,
                          Class<? extends Annotation>... qualifiers)