Top Description Inners Fields Constructors Methods
org.springframework.beans.factory.support

public abstract Class AbstractAutowireCapableBeanFactory

extends AbstractBeanFactory
implements AutowireCapableBeanFactory
Class Inheritance
All Implemented Interfaces
org.springframework.beans.factory.config.AutowireCapableBeanFactory, org.springframework.beans.factory.BeanFactory
Known Direct Subclasses
org.springframework.beans.factory.support.DefaultListableBeanFactory
Imports
java.beans.PropertyDescriptor, java.lang.reflect.Constructor, .InvocationTargetException, .Method, .Modifier, java.util.ArrayList, .Arrays, .Collection, .HashSet, .LinkedHashSet, .List, .Set, .TreeSet, java.util.concurrent.ConcurrentHashMap, .ConcurrentMap, java.util.function.Supplier, org.apache.commons.logging.Log, org.springframework.beans.BeanUtils, .BeanWrapper, .BeanWrapperImpl, .BeansException, .InvalidPropertyException, .MutablePropertyValues, .PropertyAccessorUtils, .PropertyValue, .PropertyValues, .TypeConverter, org.springframework.beans.factory.Aware, .BeanClassLoaderAware, .BeanCreationException, .BeanCurrentlyInCreationException, .BeanDefinitionStoreException, .BeanFactory, .BeanFactoryAware, .BeanNameAware, .FactoryBean, .InitializingBean, .InjectionPoint, .UnsatisfiedDependencyException, org.springframework.beans.factory.config.AutowireCapableBeanFactory, .AutowiredPropertyMarker, .BeanDefinition, .BeanPostProcessor, .ConfigurableBeanFactory, .ConstructorArgumentValues, .DependencyDescriptor, .InstantiationAwareBeanPostProcessor, .SmartInstantiationAwareBeanPostProcessor, .TypedStringValue, org.springframework.core.DefaultParameterNameDiscoverer, .MethodParameter, .NamedThreadLocal, .ParameterNameDiscoverer, .PriorityOrdered, .ResolvableType, org.springframework.lang.Nullable, org.springframework.util.ClassUtils, .ObjectUtils, .ReflectionUtils, .ReflectionUtils.MethodCallback, .StringUtils, org.springframework.util.function.ThrowingSupplier

Abstract bean factory superclass that implements default bean creation, with the full capabilities specified by the RootBeanDefinition class. Implements the org.springframework.beans.factory.config.AutowireCapableBeanFactory interface in addition to AbstractBeanFactory's createBean method.

Provides bean creation (with constructor resolution), property population, wiring (including autowiring), and initialization. Handles runtime bean references, resolves managed collections, calls initialization methods, etc. Supports autowiring constructors, properties by name, and properties by type.

The main template method to be implemented by subclasses is resolveDependency(DependencyDescriptor, String, Set, TypeConverter), used for autowiring. In case of a org.springframework.beans.factory.ListableBeanFactory which is capable of searching its bean definitions, matching beans will typically be implemented through such a search. Otherwise, simplified matching can be implemented.

Note that this class does not assume or implement bean definition registry capabilities. See DefaultListableBeanFactory for an implementation of the org.springframework.beans.factory.ListableBeanFactory and BeanDefinitionRegistry interfaces, which represent the API and SPI view of such a factory, respectively.

Authors
Rod Johnson, Juergen Hoeller, Rob Harrop, Mark Fisher, Costin Leau, Chris Beams, Sam Brannen, Phillip Webb
Since
13.02.2004
See Also
RootBeanDefinition, DefaultListableBeanFactory, BeanDefinitionRegistry

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
AbstractAutowireCapableBeanFactory.AutowireByTypeDependencyDescriptor

Special DependencyDescriptor variant for Spring's good old autowire="byType" mode.

private static class
AbstractAutowireCapableBeanFactory.CreateFromClassBeanDefinition

RootBeanDefinition subclass for #createBean calls with flexible selection of a Kotlin primary / single public / single non-public constructor candidate in addition to the default constructor.

private static class

Field Summary

Modifier and TypeField and Description
private boolean
allowCircularReferences

Whether to automatically try to resolve circular references between beans.

private boolean
allowRawInjectionDespiteWrapping

Whether to resort to injecting a raw bean instance in case of circular reference, even if the injected bean eventually got wrapped.

private final NamedThreadLocal<String>
currentlyCreatedBean

The name of the currently created bean, for implicit dependency registration on getBean etc invocations triggered from a user-specified Supplier callback.

private final ConcurrentMap<String, BeanWrapper>
factoryBeanInstanceCache

Cache of unfinished FactoryBean instances: FactoryBean name to BeanWrapper.

private final ConcurrentMap<Class<?>, Method[]>
factoryMethodCandidateCache

Cache of candidate factory methods per factory class.

private final ConcurrentMap<Class<?>, PropertyDescriptor[]>
filteredPropertyDescriptorsCache

Cache of filtered PropertyDescriptors: bean Class to PropertyDescriptor array.

private final Set<Class<?>>
ignoredDependencyInterfaces

Dependency interfaces to ignore on dependency check and autowire, as Set of Class objects.

private final Set<Class<?>>
ignoredDependencyTypes

Dependency types to ignore on dependency check and autowire, as Set of Class objects: for example, String.

private InstantiationStrategy
instantiationStrategy

Strategy for creating bean instances.

private ParameterNameDiscoverer
parameterNameDiscoverer

Resolver strategy for method parameter names.

Constructor Summary

AccessConstructor and Description
public
AbstractAutowireCapableBeanFactory()

Create a new AbstractAutowireCapableBeanFactory.

public
AbstractAutowireCapableBeanFactory(BeanFactory
parent bean factory, or null if none
parentBeanFactory
)

Create a new AbstractAutowireCapableBeanFactory with the given parent.

Method Summary

Modifier and TypeMethod and Description
public Object
applyBeanPostProcessorsAfterInitialization(Object
the existing bean instance
existingBean
,
String
the name of the bean, to be passed to it if necessary (only passed to BeanPostProcessors; can follow the ORIGINAL_INSTANCE_SUFFIX convention in order to enforce the given instance to be returned, i.e. no proxies etc)
beanName
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization.

Deprecated since 6.1.
Apply BeanPostProcessors to the given existing bean instance, invoking their postProcessAfterInitialization methods.
public Object
applyBeanPostProcessorsBeforeInitialization(Object
the existing bean instance
existingBean
,
String
the name of the bean, to be passed to it if necessary (only passed to BeanPostProcessors; can follow the ORIGINAL_INSTANCE_SUFFIX convention in order to enforce the given instance to be returned, i.e. no proxies etc)
beanName
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization.

Deprecated since 6.1.
Apply BeanPostProcessors to the given existing bean instance, invoking their postProcessBeforeInitialization methods.
protected Object

Returns:

the bean object to use instead of a default instance of the target bean, or null
applyBeanPostProcessorsBeforeInstantiation
(Class<?>
the class of the bean to be instantiated
beanClass
,
String
the name of the bean
beanName
)

Apply InstantiationAwareBeanPostProcessors to the specified bean definition (by class and name), invoking their postProcessBeforeInstantiation methods.

public void
applyBeanPropertyValues(Object
the existing bean instance
existingBean
,
String
the name of the bean definition in the bean factory (a bean definition of that name has to be available)
beanName
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.applyBeanPropertyValues.

Apply the property values of the bean definition with the given name to the given bean instance.
protected void
applyMergedBeanDefinitionPostProcessors(RootBeanDefinition
the merged bean definition for the bean
mbd
,
Class<?>
the actual type of the managed bean instance
beanType
,
String
the name of the bean
beanName
)

Apply MergedBeanDefinitionPostProcessors to the specified bean definition, invoking their postProcessMergedBeanDefinition methods.

protected void
applyPropertyValues(String
the bean name passed for better exception information
beanName
,
BeanDefinition
the merged bean definition
mbd
,
BeanWrapper
the BeanWrapper wrapping the target object
bw
,
PropertyValues
the new property values
pvs
)

Apply the given property values, resolving any runtime references to other beans in this bean factory.

public Object
autowire(Class<?>
the class of the bean to instantiate
beanClass
,
int
by name or type, using the constants in this interface
autowireMode
,
boolean
whether to perform a dependency check for object references in the bean instance (not applicable to autowiring a constructor, thus ignored there)
dependencyCheck
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.autowire.

Instantiate a new bean instance of the given class with the specified autowire strategy.
public void
autowireBean(Object
the existing bean instance
existingBean
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.autowireBean.

Populate the given bean instance through applying after-instantiation callbacks and bean property post-processing (e.g. for annotation-driven injection).
public void
autowireBeanProperties(Object
the existing bean instance
existingBean
,
int
by name or type, using the constants in this interface
autowireMode
,
boolean
whether to perform a dependency check for object references in the bean instance
dependencyCheck
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.autowireBeanProperties.

Autowire the bean properties of the given bean instance by name or type.
protected void
autowireByName(String
the name of the bean we're wiring up. Useful for debugging messages; not used functionally.
beanName
,
AbstractBeanDefinition
bean definition to update through autowiring
mbd
,
BeanWrapper
the BeanWrapper from which we can obtain information about the bean
bw
,
MutablePropertyValues
the PropertyValues to register wired objects with
pvs
)

Fill in any missing property values with references to other beans in this factory if autowire is set to "byName".

protected void
autowireByType(String
the name of the bean to autowire by type
beanName
,
AbstractBeanDefinition
the merged bean definition to update through autowiring
mbd
,
BeanWrapper
the BeanWrapper from which we can obtain information about the bean
bw
,
MutablePropertyValues
the PropertyValues to register wired objects with
pvs
)

Abstract method defining "autowire by type" (bean properties by type) behavior.

protected BeanWrapper

Returns:

a BeanWrapper for the new instance
autowireConstructor
(String
the name of the bean
beanName
,
RootBeanDefinition
the bean definition for the bean
mbd
,
Constructor<?>[]
the chosen candidate constructors
ctors
,
Object[]
argument values passed in programmatically via the getBean method, or null if none (implying the use of constructor argument values from bean definition)
explicitArgs
)

"autowire constructor" (with constructor arguments by type) behavior.

protected void
checkDependencies(String
the name of the bean
beanName
,
AbstractBeanDefinition
the merged bean definition the bean was created with
mbd
,
PropertyDescriptor[]
the relevant property descriptors for the target bean
pds
,
PropertyValues
the property values to be applied to the bean
pvs
)

Perform a dependency check that all properties exposed have been set, if desired.

protected void
public Object
configureBean(Object
the existing bean instance
existingBean
,
String
the name of the bean, to be passed to it if necessary (a bean definition of that name has to be available)
beanName
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.configureBean.

Configure the given raw bean: autowiring bean properties, applying bean property values, applying factory callbacks such as setBeanName and setBeanFactory, and also applying all bean post processors (including ones which might wrap the given raw bean).
private Object
convertForProperty(Object value, String propertyName, BeanWrapper bw, TypeConverter converter)

Convert the given value for the specified target property.

public void
public <T> T
createBean(Class<T>
the class of the bean to create
beanClass
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.createBean.

Fully create a new bean instance of the given class.
public Object
createBean(Class<?>
the class of the bean to create
beanClass
,
int
by name or type, using the constants in this interface
autowireMode
,
boolean
whether to perform a dependency check for objects (not applicable to autowiring a constructor, thus ignored there)
dependencyCheck
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.createBean.

Deprecated
Fully create a new bean instance of the given class with the specified autowire strategy.
protected Object
createBean(String
the name of the bean
beanName
,
RootBeanDefinition
the merged bean definition for the bean
mbd
,
Object[]
explicit arguments to use for constructor or factory method invocation
args
)

Implements abstract org.springframework.beans.factory.support.AbstractBeanFactory.createBean.

Central method of this class: creates a bean instance, populates the bean instance, applies post-processors, etc.
protected BeanWrapper

Returns:

a BeanWrapper for the new instance
createBeanInstance
(String
the name of the bean
beanName
,
RootBeanDefinition
the bean definition for the bean
mbd
,
Object[]
explicit arguments to use for constructor or factory method invocation
args
)

Create a new instance for the specified bean, using an appropriate instantiation strategy: factory method, constructor autowiring, or simple instantiation.

public void
destroyBean(Object
the bean instance to destroy
existingBean
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.destroyBean.

Destroy the given bean instance (typically coming from createBean(Class)), applying the org.springframework.beans.factory.DisposableBean contract as well as registered DestructionAwareBeanPostProcessors.
protected Constructor<?>[]

Returns:

the candidate constructors, or null if none specified
determineConstructorsFromBeanPostProcessors
(Class<?>
the raw class of the bean
beanClass
,
String
the name of the bean
beanName
)

Determine candidate constructors to use for the given bean, checking all registered SmartInstantiationAwareBeanPostProcessors.

protected Class<?>

Returns:

the type for the bean if determinable, or null otherwise
determineTargetType
(String
the name of the bean (for error handling purposes)
beanName
,
RootBeanDefinition
the merged bean definition for the bean
mbd
,
Class<?>...
the types to match in case of internal type matching purposes (also signals that the returned Class will never be exposed to application code)
typesToMatch
)

Determine the target type for the given bean definition.

protected Object

Returns:

a new instance of the bean
doCreateBean
(String
the name of the bean
beanName
,
RootBeanDefinition
the merged bean definition for the bean
mbd
,
Object[]
explicit arguments to use for constructor or factory method invocation
args
)

Actually create the specified bean.

protected PropertyDescriptor[]

Returns:

the filtered PropertyDescriptors
filterPropertyDescriptorsForDependencyCheck
(BeanWrapper
the BeanWrapper the bean was created with
bw
,
boolean
whether to cache filtered PropertyDescriptors for the given bean Class
cache
)

Extract a filtered set of PropertyDescriptors from the given BeanWrapper, excluding ignored dependency types or properties defined on ignored dependency interfaces.

protected PropertyDescriptor[]

Returns:

the filtered PropertyDescriptors
filterPropertyDescriptorsForDependencyCheck
(BeanWrapper
the BeanWrapper the bean was created with
bw
)

Extract a filtered set of PropertyDescriptors from the given BeanWrapper, excluding ignored dependency types or properties defined on ignored dependency interfaces.

protected Object

Returns:

the object to expose as bean reference
getEarlyBeanReference
(String
the name of the bean (for error handling purposes)
beanName
,
RootBeanDefinition
the merged bean definition for the bean
mbd
,
Object
the raw bean instance
bean
)

Obtain a reference for early access to the specified bean, typically for the purpose of resolving a circular reference.

public InstantiationStrategy
getInstantiationStrategy()

Return the instantiation strategy to use for creating bean instances.

pack-priv Log
getLogger()

Expose the logger to collaborating delegates.

private FactoryBean<?>

Returns:

the FactoryBean instance, or null to indicate that we couldn't obtain a shortcut FactoryBean instance
getNonSingletonFactoryBeanForTypeCheck
(String
the name of the bean
beanName
,
RootBeanDefinition
the bean definition for the bean
mbd
)

Obtain a "shortcut" non-singleton FactoryBean instance to use for a getObjectType() call, without full initialization of the FactoryBean.

protected Object
getObjectForBeanInstance(Object
the shared bean instance
beanInstance
,
String
the name that may include factory dereference prefix
name
,
String
the canonical bean name
beanName
,
RootBeanDefinition
the merged bean definition
mbd
)

Overrides org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance.

Overridden in order to implicitly register the currently created bean as dependent on further beans getting programmatically retrieved during a Supplier callback.
public ParameterNameDiscoverer
getParameterNameDiscoverer()

Return the ParameterNameDiscoverer to use for resolving method parameter names if needed.

private FactoryBean<?>

Returns:

the FactoryBean instance, or null to indicate that we couldn't obtain a shortcut FactoryBean instance
getSingletonFactoryBeanForTypeCheck
(String
the name of the bean
beanName
,
RootBeanDefinition
the bean definition for the bean
mbd
)

Obtain a "shortcut" singleton FactoryBean instance to use for a getObjectType() call, without full initialization of the FactoryBean.

protected ResolvableType
getTypeForFactoryBean(String
the name of the bean
beanName
,
RootBeanDefinition
the merged bean definition for the bean
mbd
,
boolean
if initialization of the FactoryBean is permitted if the type cannot be determined another way
allowInit
)

Overrides org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean.

This implementation attempts to query the FactoryBean's generic parameter metadata if present to determine the object type.
private ResolvableType

Returns:

the common FactoryBean object type, or null if none
getTypeForFactoryBeanFromMethod
(Class<?>
the bean class to find the factory method on
beanClass
,
String
the name of the factory method
factoryMethodName
)

Introspect the factory method signatures on the given bean class, trying to find a common FactoryBean object type declared there.

protected Class<?>

Returns:

the type for the bean if determinable, or null otherwise
getTypeForFactoryMethod
(String
the name of the bean (for error handling purposes)
beanName
,
RootBeanDefinition
the merged bean definition for the bean
mbd
,
Class<?>...
the types to match in case of internal type matching purposes (also signals that the returned Class will never be exposed to application code)
typesToMatch
)

Determine the target type for the given bean definition which is based on a factory method.

public void
ignoreDependencyInterface(Class<?> ifc)

Ignore the given dependency interface for autowiring.

public void
ignoreDependencyType(Class<?> type)

Ignore the given dependency type for autowiring: for example, String.

public Object
initializeBean(Object
the existing bean instance
existingBean
,
String
the name of the bean, to be passed to it if necessary (only passed to BeanPostProcessors; can follow the ORIGINAL_INSTANCE_SUFFIX convention in order to enforce the given instance to be returned, i.e. no proxies etc)
beanName
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.initializeBean.

Initialize the given raw bean, applying factory callbacks such as setBeanName and setBeanFactory, also applying all bean post processors (including ones which might wrap the given raw bean).
protected Object

Returns:

the initialized bean instance (potentially wrapped)
initializeBean
(String
the bean name in the factory (for debugging purposes)
beanName
,
Object
the new bean instance we may need to initialize
bean
,
RootBeanDefinition
the bean definition that the bean was created with (can also be null, if given an existing bean instance)
mbd
)

Initialize the given bean instance, applying factory callbacks as well as init methods and bean post processors.

protected BeanWrapper

Returns:

a BeanWrapper for the new instance
instantiateBean
(String
the name of the bean
beanName
,
RootBeanDefinition
the bean definition for the bean
mbd
)

Instantiate the given bean using its default constructor.

protected BeanWrapper

Returns:

a BeanWrapper for the new instance
instantiateUsingFactoryMethod
(String
the name of the bean
beanName
,
RootBeanDefinition
the bean definition for the bean
mbd
,
Object[]
argument values passed in programmatically via the getBean method, or null if none (implying the use of constructor argument values from bean definition)
explicitArgs
)

Instantiate the bean using a named factory method.

private void
protected void
invokeCustomInitMethod(String beanName, Object bean, RootBeanDefinition mbd, String initMethodName)

Invoke the specified custom init method on the given bean.

protected void
invokeInitMethods(String
the bean name in the factory (for debugging purposes)
beanName
,
Object
the new bean instance we may need to initialize
bean
,
RootBeanDefinition
the merged bean definition that the bean was created with (can also be null, if given an existing bean instance)
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).

public boolean
isAllowCircularReferences()

Return whether to allow circular references between beans.

public boolean
isAllowRawInjectionDespiteWrapping()

Return whether to allow the raw injection of a bean instance.

private boolean
isConvertibleProperty(String propertyName, BeanWrapper bw)

Determine whether the factory should cache a converted value for the given property.

protected boolean

Returns:

whether the bean property is excluded
isExcludedFromDependencyCheck
(PropertyDescriptor
the PropertyDescriptor of the bean property
pd
)

Determine whether the given bean property is excluded from dependency checks.

private BeanWrapper

Returns:

a BeanWrapper for the new instance
obtainFromSupplier
(Supplier<?>
the configured supplier
supplier
,
String
the corresponding bean name
beanName
,
RootBeanDefinition mbd)

Obtain a bean instance from the given supplier.

protected Object

Returns:

the bean instance (possibly null)
obtainInstanceFromSupplier
(Supplier<?>
the configured supplier
supplier
,
String
the corresponding bean name
beanName
,
RootBeanDefinition
the bean definition for the bean
mbd
)

Obtain a bean instance from the given supplier.

protected void
populateBean(String
the name of the bean
beanName
,
RootBeanDefinition
the bean definition for the bean
mbd
,
BeanWrapper
the BeanWrapper with bean instance
bw
)

Populate the bean instance in the given BeanWrapper with the property values from the bean definition.

protected Object
postProcessObjectFromFactoryBean(Object
the object obtained from the FactoryBean.
object
,
String
the name of the bean
beanName
)

Overrides org.springframework.beans.factory.support.FactoryBeanRegistrySupport.postProcessObjectFromFactoryBean.

Applies the postProcessAfterInitialization callback of all registered BeanPostProcessors, giving them a chance to post-process the object obtained from FactoryBeans (for example, to auto-proxy them).
protected Class<?>
predictBeanType(String
the name of the bean
beanName
,
RootBeanDefinition
the merged bean definition to determine the type for
mbd
,
Class<?>...
the types to match in case of internal type matching purposes (also signals that the returned Class will never be exposed to application code)
typesToMatch
)

Overrides org.springframework.beans.factory.support.AbstractBeanFactory.predictBeanType.

Predict the eventual bean type (of the processed bean instance) for the specified bean.
protected void
removeSingleton(String
the name of the bean
beanName
)

Overrides org.springframework.beans.factory.support.FactoryBeanRegistrySupport.removeSingleton.

Overridden to clear FactoryBean instance cache as well.
public Object
resolveBeanByName(String
the name of the bean to look up
name
,
DependencyDescriptor
the dependency descriptor for the requesting injection point
descriptor
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.resolveBeanByName.

Resolve a bean instance for the given bean name, providing a dependency descriptor for exposure to target factory methods.
protected Object

Returns:

the shortcut-determined bean instance, or null if none
resolveBeforeInstantiation
(String
the name of the bean
beanName
,
RootBeanDefinition
the bean definition for the bean
mbd
)

Apply before-instantiation post-processors, resolving whether there is a before-instantiation shortcut for the specified bean.

public Object
resolveDependency(DependencyDescriptor
the descriptor for the dependency (field/method/constructor)
descriptor
,
String
the name of the bean which declares the given dependency
requestingBeanName
)

Implements org.springframework.beans.factory.config.AutowireCapableBeanFactory.resolveDependency.

Resolve the specified dependency against the beans defined in this factory.
public void
setAllowCircularReferences(boolean allowCircularReferences)

Set whether to allow circular references between beans - and automatically try to resolve them.

public void
setAllowRawInjectionDespiteWrapping(boolean allowRawInjectionDespiteWrapping)

Set whether to allow the raw injection of a bean instance into some other bean's property, despite the injected bean eventually getting wrapped (for example, through AOP auto-proxying).

public void
setInstantiationStrategy(InstantiationStrategy instantiationStrategy)

Set the instantiation strategy to use for creating bean instances.

public void
setParameterNameDiscoverer(ParameterNameDiscoverer parameterNameDiscoverer)

Set the ParameterNameDiscoverer to use for resolving method parameter names if needed (e.g. for constructor names).

protected String[]

Returns:

an array of bean property names
unsatisfiedNonSimpleProperties
(AbstractBeanDefinition
the merged bean definition the bean was created with
mbd
,
BeanWrapper
the BeanWrapper the bean was created with
bw
)

Return an array of non-simple bean properties that are unsatisfied.

Inherited from org.springframework.beans.factory.support.AbstractBeanFactory:
adaptBeanInstanceaddBeanPostProcessoraddBeanPostProcessorsaddEmbeddedValueResolveraddPropertyEditorRegistrarafterPrototypeCreationbeforePrototypeCreationcheckMergedBeanDefinitioncleanupAfterBeanCreationFailureclearMergedBeanDefinitionclearMetadataCachecontainsBeancontainsBeanDefinitioncontainsLocalBeancopyRegisteredEditorsTodestroyBeandestroyBeandestroyScopedBeandoGetBeanevaluateBeanDefinitionStringgetAliasesgetApplicationStartupgetBeangetBeangetBeangetBeangetBeanClassLoadergetBeanDefinitiongetBeanExpressionResolvergetBeanPostProcessorCachegetBeanPostProcessorCountgetBeanPostProcessorsgetConversionServicegetCustomEditorsgetCustomTypeConvertergetMergedBeanDefinitiongetMergedBeanDefinitiongetMergedBeanDefinitiongetMergedLocalBeanDefinitiongetParentBeanFactorygetPropertyEditorRegistrarsgetRegisteredScopegetRegisteredScopeNamesgetTempClassLoadergetTypegetTypegetTypeConverterhasBeanCreationStartedhasDestructionAwareBeanPostProcessorshasEmbeddedValueResolverhasInstantiationAwareBeanPostProcessorsinitBeanWrapperisActuallyInCreationisBeanEligibleForMetadataCachingisBeanNameInUseisCacheBeanMetadataisFactoryBeanisFactoryBeanisPrototypeisPrototypeCurrentlyInCreationisSingletonisTypeMatchisTypeMatchisTypeMatchmarkBeanAsCreatedoriginalBeanNameregisterCustomEditorregisterCustomEditorsregisterDisposableBeanIfNecessaryregisterScoperemoveSingletonIfCreatedForTypeCheckOnlyrequiresDestructionresolveBeanClassresolveEmbeddedValuesetApplicationStartupsetBeanClassLoadersetBeanExpressionResolversetCacheBeanMetadatasetConversionServicesetParentBeanFactorysetTempClassLoadersetTypeConvertertransformedBeanName