| Package | Description | 
|---|---|
| org.springframework.beans.factory.annotation | Support package for annotation-driven bean configuration. | 
| org.springframework.beans.factory.support | Classes supporting the  org.springframework.beans.factorypackage. | 
| Modifier and Type | Method and 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 | RequiredAnnotationBeanPostProcessor. postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition,
                               Class<?> beanType,
                               String beanName)Deprecated.  | 
| void | InitDestroyAnnotationBeanPostProcessor. postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition,
                               Class<?> beanType,
                               String beanName) | 
| Modifier and Type | Method and 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. | 
| 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) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | AbstractAutowireCapableBeanFactory. applyMergedBeanDefinitionPostProcessors(RootBeanDefinition mbd,
                                       Class<?> beanType,
                                       String beanName)Apply MergedBeanDefinitionPostProcessors to the specified bean definition,
 invoking their  postProcessMergedBeanDefinitionmethods. | 
| protected BeanWrapper | AbstractAutowireCapableBeanFactory. autowireConstructor(String beanName,
                   RootBeanDefinition mbd,
                   Constructor<?>[] ctors,
                   Object[] explicitArgs)"autowire constructor" (with constructor arguments by type) behavior. | 
| protected void | AbstractBeanFactory. checkMergedBeanDefinition(RootBeanDefinition mbd,
                         String beanName,
                         Object[] args)Check the given merged bean definition,
 potentially throwing validation exceptions. | 
| 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. | 
| 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
  Suppliercallback. | 
| 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 Class<?> | AbstractAutowireCapableBeanFactory. getTypeForFactoryBean(String beanName,
                     RootBeanDefinition mbd)Deprecated.  | 
| protected Class<?> | AbstractBeanFactory. getTypeForFactoryBean(String beanName,
                     RootBeanDefinition mbd)Deprecated. 
 since 5.2 in favor of  AbstractBeanFactory.getTypeForFactoryBean(String, RootBeanDefinition, boolean) | 
| 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 | SimpleInstantiationStrategy. instantiate(RootBeanDefinition bd,
           String beanName,
           BeanFactory owner) | 
| 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,
           Constructor<?> ctor,
           Object... args) | 
| 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 | SimpleInstantiationStrategy. instantiate(RootBeanDefinition bd,
           String beanName,
           BeanFactory owner,
           Object factoryBean,
           Method factoryMethod,
           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 | 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 | CglibSubclassingInstantiationStrategy. instantiateWithMethodInjection(RootBeanDefinition bd,
                              String beanName,
                              BeanFactory owner) | 
| 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 Object | CglibSubclassingInstantiationStrategy. instantiateWithMethodInjection(RootBeanDefinition bd,
                              String beanName,
                              BeanFactory owner,
                              Constructor<?> ctor,
                              Object... args) | 
| protected void | AbstractAutowireCapableBeanFactory. invokeCustomInitMethod(String beanName,
                      Object bean,
                      RootBeanDefinition mbd)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 react now 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 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. | 
| Constructor and Description | 
|---|
| RootBeanDefinition(RootBeanDefinition original)Create a new RootBeanDefinition as deep copy of the given
 bean definition. |