# Uses of Class
org.springframework.beans.factory.support.RootBeanDefinition

Packages that use RootBeanDefinition
Package
Description
org.springframework.beans.factory.annotation
Support package for annotation-driven bean configuration.
org.springframework.beans.factory.aot
AOT support for bean factories.
org.springframework.beans.factory.support
Classes supporting the `org.springframework.beans.factory` package.

## Uses of RootBeanDefinition in org.springframework.beans.factory.annotation

Methods in org.springframework.beans.factory.annotation with parameters of type RootBeanDefinition
Modifier and Type
Method
Description
`void`
InjectionMetadata.`checkConfigMembers(RootBeanDefinition beanDefinition)`
`protected Annotation`
QualifierAnnotationAutowireCandidateResolver.`getFactoryMethodAnnotation(RootBeanDefinition bd, Class<? extends Annotation> type)`
`protected Annotation`
QualifierAnnotationAutowireCandidateResolver.`getQualifiedElementAnnotation(RootBeanDefinition bd, Class<? extends Annotation> type)`
`void`
AutowiredAnnotationBeanPostProcessor.`postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, Class<?> beanType, String beanName)`
`void`
InitDestroyAnnotationBeanPostProcessor.`postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, Class<?> beanClass, String beanName)`

## Uses of RootBeanDefinition in org.springframework.beans.factory.aot

Methods in org.springframework.beans.factory.aot that return RootBeanDefinition
Modifier and Type
Method
Description
`RootBeanDefinition`
AotBeanProcessingException.`getBeanDefinition()`
Return the bean definition of the bean that failed to be processed.
Methods in org.springframework.beans.factory.aot with parameters of type RootBeanDefinition
Modifier and Type
Method
Description
`org.springframework.javapoet.CodeBlock`
BeanRegistrationCodeFragments.`generateSetBeanDefinitionPropertiesCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, RootBeanDefinition beanDefinition, Predicate<String> attributeFilter)`
Generate the code that sets the properties of the bean definition.
`org.springframework.javapoet.CodeBlock`
BeanRegistrationCodeFragmentsDecorator.`generateSetBeanDefinitionPropertiesCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, RootBeanDefinition beanDefinition, Predicate<String> attributeFilter)`

## Uses of RootBeanDefinition in org.springframework.beans.factory.support

Methods in org.springframework.beans.factory.support that return RootBeanDefinition
Modifier and Type
Method
Description
`RootBeanDefinition`
RootBeanDefinition.`cloneBeanDefinition()`
`protected RootBeanDefinition`
AbstractBeanFactory.`getMergedBeanDefinition(String beanName, BeanDefinition bd)`
Return a RootBeanDefinition for the given top-level bean, by merging with the parent if the given bean's definition is a child bean definition.
`protected RootBeanDefinition`
AbstractBeanFactory.`getMergedBeanDefinition(String beanName, BeanDefinition bd, BeanDefinition containingBd)`
Return a RootBeanDefinition for the given bean, by merging with the parent if the given bean's definition is a child bean definition.
`RootBeanDefinition`
RegisteredBean.`getMergedBeanDefinition()`
Return the merged bean definition of the bean.
`protected RootBeanDefinition`
AbstractBeanFactory.`getMergedLocalBeanDefinition(String beanName)`
Return a merged RootBeanDefinition, traversing the parent bean definition if the specified bean corresponds to a child bean definition.
`protected RootBeanDefinition`
GenericTypeAwareAutowireCandidateResolver.`getResolvedDecoratedDefinition(RootBeanDefinition rbd)`
Methods in org.springframework.beans.factory.support with parameters of type RootBeanDefinition
Modifier and Type
Method
Description
`protected void`
AbstractAutowireCapableBeanFactory.`applyMergedBeanDefinitionPostProcessors(RootBeanDefinition mbd, Class<?> beanType, String beanName)`
Apply MergedBeanDefinitionPostProcessors to the specified bean definition, invoking their `postProcessMergedBeanDefinition` methods.
`protected BeanWrapper`
AbstractAutowireCapableBeanFactory.`autowireConstructor(String beanName, RootBeanDefinition mbd, Constructor<?>[] ctors, Object[] explicitArgs)`
"autowire constructor" (with constructor arguments by type) behavior.
`protected void`
AbstractBeanFactory.`cacheMergedBeanDefinition(RootBeanDefinition mbd, String beanName)`
Cache the given merged bean definition.
`protected void`
DefaultListableBeanFactory.`cacheMergedBeanDefinition(RootBeanDefinition mbd, String beanName)`
`protected void`
AbstractBeanFactory.`checkMergedBeanDefinition(RootBeanDefinition mbd, String beanName, Object[] args)`
Check the given merged bean definition, potentially throwing validation exceptions.
`protected void`
DefaultListableBeanFactory.`checkMergedBeanDefinition(RootBeanDefinition mbd, String beanName, Object[] args)`
`protected Object`
AbstractAutowireCapableBeanFactory.`createBean(String beanName, RootBeanDefinition mbd, Object[] args)`
Central method of this class: creates a bean instance, populates the bean instance, applies post-processors, etc.
`protected abstract Object`
AbstractBeanFactory.`createBean(String beanName, RootBeanDefinition mbd, Object[] args)`
Create a bean instance for the given merged bean definition (and arguments).
`protected BeanWrapper`
AbstractAutowireCapableBeanFactory.`createBeanInstance(String beanName, RootBeanDefinition mbd, Object[] args)`
Create a new instance for the specified bean, using an appropriate instantiation strategy: factory method, constructor autowiring, or simple instantiation.
`protected void`
AbstractBeanFactory.`destroyBean(String beanName, Object bean, RootBeanDefinition mbd)`
Destroy the given bean instance (usually a prototype instance obtained from this factory) according to the given bean definition.
`protected Class<?>`
AbstractAutowireCapableBeanFactory.`determineTargetType(String beanName, RootBeanDefinition mbd, Class<?>... typesToMatch)`
Determine the target type for the given bean definition.
`protected Object`
AbstractAutowireCapableBeanFactory.`doCreateBean(String beanName, RootBeanDefinition mbd, Object[] args)`
Actually create the specified bean.
`Class<?>`
CglibSubclassingInstantiationStrategy.`getActualBeanClass(RootBeanDefinition bd, String beanName, BeanFactory owner)`
`default Class<?>`
InstantiationStrategy.`getActualBeanClass(RootBeanDefinition bd, String beanName, BeanFactory owner)`
Determine the actual class for the given bean definition, as instantiated at runtime.
`protected Object`
AbstractAutowireCapableBeanFactory.`getEarlyBeanReference(String beanName, RootBeanDefinition mbd, Object bean)`
Obtain a reference for early access to the specified bean, typically for the purpose of resolving a circular reference.
`protected Object`
AbstractAutowireCapableBeanFactory.`getObjectForBeanInstance(Object beanInstance, String name, String beanName, RootBeanDefinition mbd)`
Overridden in order to implicitly register the currently created bean as dependent on further beans getting programmatically retrieved during a `Supplier` callback.
`protected Object`
AbstractBeanFactory.`getObjectForBeanInstance(Object beanInstance, String name, String beanName, RootBeanDefinition mbd)`
Get the object for the given bean instance, either the bean instance itself or its created object in case of a FactoryBean.
`protected RootBeanDefinition`
GenericTypeAwareAutowireCandidateResolver.`getResolvedDecoratedDefinition(RootBeanDefinition rbd)`
`protected org.springframework.core.ResolvableType`
GenericTypeAwareAutowireCandidateResolver.`getReturnTypeForFactoryMethod(RootBeanDefinition rbd, DependencyDescriptor descriptor)`
`protected org.springframework.core.ResolvableType`
AbstractAutowireCapableBeanFactory.`getTypeForFactoryBean(String beanName, RootBeanDefinition mbd, boolean allowInit)`
This implementation attempts to query the FactoryBean's generic parameter metadata if present to determine the object type.
`protected org.springframework.core.ResolvableType`
AbstractBeanFactory.`getTypeForFactoryBean(String beanName, RootBeanDefinition mbd, boolean allowInit)`
Determine the bean type for the given FactoryBean definition, as far as possible.
`protected Class<?>`
AbstractAutowireCapableBeanFactory.`getTypeForFactoryMethod(String beanName, RootBeanDefinition mbd, Class<?>... typesToMatch)`
Determine the target type for the given bean definition which is based on a factory method.
`protected Object`
AbstractAutowireCapableBeanFactory.`initializeBean(String beanName, Object bean, RootBeanDefinition mbd)`
Initialize the given bean instance, applying factory callbacks as well as init methods and bean post processors.
`Object`
InstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner)`
Return an instance of the bean with the given name in this factory.
`Object`
InstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner, Object factoryBean, Method factoryMethod, Object... args)`
Return an instance of the bean with the given name in this factory, creating it via the given factory method.
`Object`
InstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner, Constructor<?> ctor, Object... args)`
Return an instance of the bean with the given name in this factory, creating it via the given constructor.
`Object`
SimpleInstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner)`
`Object`
SimpleInstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner, Object factoryBean, Method factoryMethod, Object... args)`
`Object`
SimpleInstantiationStrategy.`instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner, Constructor<?> ctor, Object... args)`
`protected BeanWrapper`
AbstractAutowireCapableBeanFactory.`instantiateBean(String beanName, RootBeanDefinition mbd)`
Instantiate the given bean using its default constructor.
`protected BeanWrapper`
AbstractAutowireCapableBeanFactory.`instantiateUsingFactoryMethod(String beanName, RootBeanDefinition mbd, Object[] explicitArgs)`
Instantiate the bean using a named factory method.
`protected Object`
CglibSubclassingInstantiationStrategy.`instantiateWithMethodInjection(RootBeanDefinition bd, String beanName, BeanFactory owner)`
`protected Object`
CglibSubclassingInstantiationStrategy.`instantiateWithMethodInjection(RootBeanDefinition bd, String beanName, BeanFactory owner, Constructor<?> ctor, Object... args)`
`protected Object`
SimpleInstantiationStrategy.`instantiateWithMethodInjection(RootBeanDefinition bd, String beanName, BeanFactory owner)`
Subclasses can override this method, which is implemented to throw UnsupportedOperationException, if they can instantiate an object with the Method Injection specified in the given RootBeanDefinition.
`protected Object`
SimpleInstantiationStrategy.`instantiateWithMethodInjection(RootBeanDefinition bd, String beanName, BeanFactory owner, Constructor<?> ctor, Object... args)`
Subclasses can override this method, which is implemented to throw UnsupportedOperationException, if they can instantiate an object with the Method Injection specified in the given RootBeanDefinition.
`protected void`
AbstractAutowireCapableBeanFactory.`invokeCustomInitMethod(String beanName, Object bean, RootBeanDefinition mbd, String initMethodName)`
Invoke the specified custom init method on the given bean.
`protected void`
AbstractAutowireCapableBeanFactory.`invokeInitMethods(String beanName, Object bean, RootBeanDefinition mbd)`
Give a bean a chance to initialize itself after all its properties are set, and a chance to know about its owning bean factory (this object).
`protected boolean`
DefaultListableBeanFactory.`isAutowireCandidate(String beanName, RootBeanDefinition mbd, DependencyDescriptor descriptor, AutowireCandidateResolver resolver)`
Determine whether the specified bean definition qualifies as an autowire candidate, to be injected into other beans which declare a dependency of matching type.
`protected boolean`
AbstractBeanFactory.`isFactoryBean(String beanName, RootBeanDefinition mbd)`
Check whether the given bean is defined as a `FactoryBean`.
`protected Object`
AbstractAutowireCapableBeanFactory.`obtainInstanceFromSupplier(Supplier<?> supplier, String beanName, RootBeanDefinition mbd)`
Obtain a bean instance from the given supplier.
`protected Object`
DefaultListableBeanFactory.`obtainInstanceFromSupplier(Supplier<?> supplier, String beanName, RootBeanDefinition mbd)`
`protected void`
AbstractAutowireCapableBeanFactory.`populateBean(String beanName, RootBeanDefinition mbd, BeanWrapper bw)`
Populate the bean instance in the given BeanWrapper with the property values from the bean definition.
`void`
MergedBeanDefinitionPostProcessor.`postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, Class<?> beanType, String beanName)`
Post-process the given merged bean definition for the specified bean.
`protected Class<?>`
AbstractAutowireCapableBeanFactory.`predictBeanType(String beanName, RootBeanDefinition mbd, Class<?>... typesToMatch)`
`protected Class<?>`
AbstractBeanFactory.`predictBeanType(String beanName, RootBeanDefinition mbd, Class<?>... typesToMatch)`
Predict the eventual bean type (of the processed bean instance) for the specified bean.
`protected void`
AbstractBeanFactory.`registerDisposableBeanIfNecessary(String beanName, Object bean, RootBeanDefinition mbd)`
Add the given bean to the list of disposable beans in this factory, registering its DisposableBean interface and/or the given destroy method to be called on factory shutdown (if applicable).
`protected boolean`
AbstractBeanFactory.`requiresDestruction(Object bean, RootBeanDefinition mbd)`
Determine whether the given bean requires destruction on shutdown.
`protected Class<?>`
AbstractBeanFactory.`resolveBeanClass(RootBeanDefinition mbd, String beanName, Class<?>... typesToMatch)`
Resolve the bean class for the specified bean definition, resolving a bean class name into a Class reference (if necessary) and storing the resolved Class in the bean definition for further use.
`protected Object`
AbstractAutowireCapableBeanFactory.`resolveBeforeInstantiation(String beanName, RootBeanDefinition mbd)`
Apply before-instantiation post-processors, resolving whether there is a before-instantiation shortcut for the specified bean.
Method parameters in org.springframework.beans.factory.support with type arguments of type RootBeanDefinition
Modifier and Type
Method
Description
`<T> T`
BeanDefinitionValueResolver.`resolveInnerBean(String innerBeanName, BeanDefinition innerBd, BiFunction<String,RootBeanDefinition,T> resolver)`
Resolve an inner bean definition and invoke the specified `resolver` on its merged bean definition.
Constructors in org.springframework.beans.factory.support with parameters of type RootBeanDefinition
Modifier
Constructor
Description
``
`RootBeanDefinition(RootBeanDefinition original)`
Create a new RootBeanDefinition as deep copy of the given bean definition.