public class AnnotatedBeanDefinitionReader extends Object
This is an alternative to ClassPathBeanDefinitionScanner, applying
 the same resolution of annotations but for explicitly registered classes only.
AnnotationConfigApplicationContext.register(java.lang.Class<?>...)| 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. | 
| Modifier and Type | Method and Description | 
|---|---|
BeanDefinitionRegistry | 
getRegistry()
Get the BeanDefinitionRegistry that this reader operates on. 
 | 
void | 
register(Class<?>... componentClasses)
Register one or more component classes to be processed. 
 | 
void | 
registerBean(Class<?> beanClass)
Register a bean from the given bean class, deriving its metadata from
 class-declared annotations. 
 | 
void | 
registerBean(Class<?> beanClass,
            Class<? extends Annotation>... qualifiers)
Register a bean from the given bean class, deriving its metadata from
 class-declared annotations. 
 | 
void | 
registerBean(Class<?> beanClass,
            String name)
Register a bean from the given bean class, deriving its metadata from
 class-declared annotations. 
 | 
void | 
registerBean(Class<?> beanClass,
            String name,
            Class<? extends Annotation>... qualifiers)
Register a bean from the given bean class, deriving its metadata from
 class-declared annotations. 
 | 
<T> void | 
registerBean(Class<T> beanClass,
            String name,
            Supplier<T> supplier)
Register a bean from the given bean class, deriving its metadata from
 class-declared annotations, using the given supplier for obtaining a new
 instance (possibly declared as a lambda expression or method reference). 
 | 
<T> void | 
registerBean(Class<T> beanClass,
            String name,
            Supplier<T> supplier,
            BeanDefinitionCustomizer... customizers)
Register a bean from the given bean class, deriving its metadata from
 class-declared annotations. 
 | 
<T> void | 
registerBean(Class<T> beanClass,
            Supplier<T> supplier)
Register a bean from the given bean class, deriving its metadata from
 class-declared annotations, using the given supplier for obtaining a new
 instance (possibly declared as a lambda expression or method reference). 
 | 
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
 @Conditional-annotated component classes should be registered. | 
void | 
setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver)
Set the  
ScopeMetadataResolver to use for registered component classes. | 
public AnnotatedBeanDefinitionReader(BeanDefinitionRegistry registry)
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.
registry - the BeanFactory to load bean definitions into,
 in the form of a BeanDefinitionRegistryAnnotatedBeanDefinitionReader(BeanDefinitionRegistry, Environment), 
setEnvironment(Environment)public AnnotatedBeanDefinitionReader(BeanDefinitionRegistry registry, Environment environment)
AnnotatedBeanDefinitionReader for the given registry,
 using the given Environment.registry - the BeanFactory to load bean definitions into,
 in the form of a BeanDefinitionRegistryenvironment - the Environment to use when evaluating bean definition
 profiles.public final BeanDefinitionRegistry getRegistry()
public void setEnvironment(Environment environment)
Environment to use when evaluating whether
 @Conditional-annotated component classes should be registered.
 The default is a StandardEnvironment.
registerBean(Class, String, Class...)public void setBeanNameGenerator(@Nullable BeanNameGenerator beanNameGenerator)
BeanNameGenerator to use for detected bean classes.
 The default is a AnnotationBeanNameGenerator.
public void setScopeMetadataResolver(@Nullable ScopeMetadataResolver scopeMetadataResolver)
ScopeMetadataResolver to use for registered component classes.
 The default is an AnnotationScopeMetadataResolver.
public void register(Class<?>... componentClasses)
Calls to register are idempotent; adding the same
 component class more than once has no additional effect.
componentClasses - one or more component classes,
 e.g. @Configuration classespublic void registerBean(Class<?> beanClass)
beanClass - the class of the beanpublic void registerBean(Class<?> beanClass, @Nullable String name)
beanClass - the class of the beanname - an explicit name for the bean
 (or null for generating a default bean name)public void registerBean(Class<?> beanClass, Class<? extends Annotation>... qualifiers)
beanClass - the class of the beanqualifiers - specific qualifier annotations to consider,
 in addition to qualifiers at the bean class levelpublic void registerBean(Class<?> beanClass, @Nullable String name, Class<? extends Annotation>... qualifiers)
beanClass - the class of the beanname - an explicit name for the bean
 (or null for generating a default bean name)qualifiers - specific qualifier annotations to consider,
 in addition to qualifiers at the bean class levelpublic <T> void registerBean(Class<T> beanClass, @Nullable Supplier<T> supplier)
beanClass - the class of the beansupplier - a callback for creating an instance of the bean
 (may be null)public <T> void registerBean(Class<T> beanClass, @Nullable String name, @Nullable Supplier<T> supplier)
beanClass - the class of the beanname - an explicit name for the bean
 (or null for generating a default bean name)supplier - a callback for creating an instance of the bean
 (may be null)public <T> void registerBean(Class<T> beanClass, @Nullable String name, @Nullable Supplier<T> supplier, BeanDefinitionCustomizer... customizers)
beanClass - the class of the beanname - an explicit name for the bean
 (or null for generating a default bean name)supplier - a callback for creating an instance of the bean
 (may be null)customizers - one or more callbacks for customizing the factory's
 BeanDefinition, e.g. setting a lazy-init or primary flag