public abstract class AbstractBeanFactory extends java.lang.Object implements ConfigurableBeanFactory
FACTORY_BEAN_PREFIX| 构造器和说明 |
|---|
AbstractBeanFactory() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addBeanPostProcessor(BeanPostProcessor beanPostProcessor)
Add a
BeanPostProcessor |
protected void |
applyPropertyValues(java.lang.Object bean,
PropertyValue... propertyValues)
Apply property values.
|
protected abstract void |
aware(java.lang.Object bean,
java.lang.String name)
Inject FrameWork
Components to application |
boolean |
containsBeanDefinition(java.lang.Class<?> type)
Whether there is a bean with the given type.
|
boolean |
containsBeanDefinition(java.lang.Class<?> type,
boolean equals)
Whether there is a bean with the given type.
|
boolean |
containsBeanDefinition(java.lang.String beanName)
Check if this registry contains a bean definition with the given name.
|
boolean |
containsSingleton(java.lang.String name)
contains instance with given name?
|
protected boolean |
createAbstractInstance(java.util.Set<java.util.Map.Entry<java.lang.String,BeanDefinition>> entrySet,
java.lang.String currentBeanName,
BeanDefinition currentBeanDefinition)
Create a abstract implementation bean
|
protected java.lang.Object |
createBeanInstance(BeanDefinition beanDefinition)
create bean use default constructor
|
void |
destroyBean(java.lang.Object beanInstance,
BeanDefinition beanDefinition) |
void |
destroyBean(java.lang.String name)
Destroy bean with given name
|
protected java.lang.Object |
doCreate(java.lang.String currentBeanName,
BeanDefinition currentBeanDefinition) |
protected java.lang.Object |
doCreateBean(BeanDefinition beanDefinition,
java.lang.String name)
Create bean
|
protected java.lang.Object |
doCreatePrototype(BeanDefinition beanDefinition,
java.lang.String name)
Create prototype bean instance.
|
protected void |
doCreateSingleton(java.util.Map.Entry<java.lang.String,BeanDefinition> entry,
java.util.Set<java.util.Map.Entry<java.lang.String,BeanDefinition>> entrySet)
Create singleton bean.
|
java.util.Set<java.lang.String> |
getAliases(java.lang.Class<?> type)
get all bean name
|
<T> T |
getBean(java.lang.Class<T> requiredType)
Find the bean with the given type, throw an NoSuchBeanDefinitionException if
it doesn't exist
|
java.lang.Object |
getBean(java.lang.String name)
find the bean with the given type, throw an NoSuchBeanDefinitionException if
it doesn't exist
|
<T> T |
getBean(java.lang.String name,
java.lang.Class<T> requiredType)
find the bean with the given name and cast to required type, throw an
NoSuchBeanDefinitionException if it doesn't exist.
|
BeanDefinition |
getBeanDefinition(java.lang.Class<?> beanClass) |
BeanDefinition |
getBeanDefinition(java.lang.String beanName)
Return the BeanDefinition for the given bean name.
|
int |
getBeanDefinitionCount()
Return the number of beans defined in the registry.
|
abstract BeanDefinitionLoader |
getBeanDefinitionLoader() |
java.util.Set<java.lang.String> |
getBeanDefinitionNames()
Return the names of all beans defined in this registry.
|
java.util.Map<java.lang.String,BeanDefinition> |
getBeanDefinitionsMap() |
java.lang.String |
getBeanName(java.lang.Class<?> targetClass)
Get the target class's name
|
BeanNameCreator |
getBeanNameCreator() |
<T> java.util.List<T> |
getBeans(java.lang.Class<T> requiredType)
Get a list of beans with given type
|
java.util.Set<PropertyValue> |
getDependencies() |
java.lang.Object |
getSingleton(java.lang.String name)
get bean instance, one
BeanDefinition can have a lot of names, so
can't put instances in BeanDefinition. |
<T> T |
getSingleton(java.lang.String name,
java.lang.Class<T> targetClass)
Get target singleton
|
java.util.Map<java.lang.String,java.lang.Object> |
getSingletonsMap()
Get instances Map
|
java.lang.Class<?> |
getType(java.lang.String name)
get bean type
|
void |
handleDependency()
Handle interface dependencies
|
protected java.lang.Object |
initializeSingleton(java.lang.String name,
BeanDefinition beanDefinition)
Initialize a singleton bean with given name and it's definition.
|
protected java.lang.Object |
initializingBean(java.lang.Object bean,
java.lang.String name,
BeanDefinition beanDefinition)
Initializing bean.
|
protected void |
invokeInitMethods(java.lang.Object bean,
java.lang.reflect.Method... methods) |
boolean |
isPrototype(java.lang.String name)
is Prototype ?
|
boolean |
isSingleton(java.lang.String name)
is Singleton ?
|
protected void |
preInitialization()
Initialization singletons that has already in context
|
void |
preInitializeSingletons()
Initialize singletons
|
java.lang.Object |
refresh(BeanDefinition beanDefinition)
Refresh bean definition, and publish
ObjectRefreshedEvent. |
void |
refresh(java.lang.String name)
Refresh bean with given name, and publish
ObjectRefreshedEvent. |
void |
registerBean(java.lang.Class<?> clazz)
Register a bean with the given type
|
void |
registerBean(java.util.Set<java.lang.Class<?>> clazz)
Register a bean with the given types
|
void |
registerBean(java.lang.String name,
BeanDefinition beanDefinition)
Register a bean with the given name and bean definition
|
void |
registerBean(java.lang.String name,
java.lang.Class<?> clazz)
Register a bean with the given name and type
|
void |
registerBeanDefinition(java.lang.String beanName,
BeanDefinition beanDefinition)
register a bean with the given name and type
|
void |
registerBeanPostProcessors()
register
BeanPostProcessors to pool |
void |
registerSingleton(java.lang.Object bean)
Register a singleton to context user
BeanNameCreator to create a name |
void |
registerSingleton(java.lang.String name,
java.lang.Object bean)
Register a singleton to context
|
void |
removeBean(java.lang.String name)
Remove bean with the given name
|
void |
removeBeanDefinition(java.lang.String beanName)
Remove the BeanDefinition for the given name.
|
void |
removeBeanPostProcessor(BeanPostProcessor beanPostProcessor)
Remove a
BeanPostProcessor |
void |
removeSingleton(java.lang.String name)
remove a singleton with given name
|
abstract void |
setBeanDefinitionLoader(BeanDefinitionLoader beanDefinitionLoader) |
void |
setBeanNameCreator(BeanNameCreator beanNameCreator) |
public java.lang.Object getBean(java.lang.String name)
throws NoSuchBeanDefinitionException
BeanFactorygetBean 在接口中 BeanFactoryname - bean nameNoSuchBeanDefinitionException - if a bean does not existprotected java.lang.Object doCreatePrototype(BeanDefinition beanDefinition, java.lang.String name) throws java.lang.Throwable
beanDefinition - bean definitionname - bean namejava.lang.Throwablepublic <T> T getBean(java.lang.Class<T> requiredType)
throws NoSuchBeanDefinitionException
BeanFactorygetBean 在接口中 BeanFactoryrequiredType - bean typeNoSuchBeanDefinitionException - if a bean does not existpublic <T> T getBean(java.lang.String name,
java.lang.Class<T> requiredType)
throws NoSuchBeanDefinitionException
BeanFactorygetBean 在接口中 BeanFactoryname - bean namerequiredType - cast to required typeNoSuchBeanDefinitionException - if a bean does not existpublic <T> java.util.List<T> getBeans(java.lang.Class<T> requiredType)
BeanFactorygetBeans 在接口中 BeanFactoryrequiredType - given bean typeprotected java.lang.Object createBeanInstance(BeanDefinition beanDefinition) throws java.lang.Throwable
beanDefinition - bean definitionjava.lang.Throwableprotected void applyPropertyValues(java.lang.Object bean,
PropertyValue... propertyValues)
throws java.lang.IllegalAccessException
bean - bean instancepropertyValues - property listjava.lang.IllegalAccessExceptionprotected void invokeInitMethods(java.lang.Object bean,
java.lang.reflect.Method... methods)
throws java.lang.Exception
bean - bean instancemethods - initialize methodsjava.lang.Exceptionprotected java.lang.Object doCreateBean(BeanDefinition beanDefinition, java.lang.String name) throws java.lang.Throwable
beanDefinition - bean definitionname - java.lang.Throwableprotected void doCreateSingleton(java.util.Map.Entry<java.lang.String,BeanDefinition> entry, java.util.Set<java.util.Map.Entry<java.lang.String,BeanDefinition>> entrySet) throws java.lang.Throwable
entry - bean definition entryentrySet - the set of bean definitionjava.lang.Throwableprotected java.lang.Object doCreate(java.lang.String currentBeanName,
BeanDefinition currentBeanDefinition)
throws java.lang.Throwable
currentBeanName - bean namecurrentBeanDefinition - bean definitionjava.lang.Throwableprotected java.lang.Object initializeSingleton(java.lang.String name,
BeanDefinition beanDefinition)
throws java.lang.Throwable
name - bean namebeanDefinition - bean definitionjava.lang.Throwableprotected boolean createAbstractInstance(java.util.Set<java.util.Map.Entry<java.lang.String,BeanDefinition>> entrySet, java.lang.String currentBeanName, BeanDefinition currentBeanDefinition)
entrySet - all bean definitioncurrentBeanName - the target abstract bean namecurrentBeanDefinition - the target abstract bean definitionpublic void registerBeanPostProcessors()
BeanPostProcessors to poolpublic void handleDependency()
protected java.lang.Object initializingBean(java.lang.Object bean,
java.lang.String name,
BeanDefinition beanDefinition)
throws java.lang.Exception
bean - bean instancename - bean namebeanDefinition - bean definitionjava.lang.Exceptionprotected abstract void aware(java.lang.Object bean,
java.lang.String name)
Components to applicationbean - bean instancename - bean namepublic boolean isSingleton(java.lang.String name)
throws NoSuchBeanDefinitionException
BeanFactoryisSingleton 在接口中 BeanFactoryNoSuchBeanDefinitionException - if a bean does not existpublic boolean isPrototype(java.lang.String name)
throws NoSuchBeanDefinitionException
BeanFactoryisPrototype 在接口中 BeanFactoryNoSuchBeanDefinitionException - if a bean does not existpublic java.lang.Class<?> getType(java.lang.String name)
throws NoSuchBeanDefinitionException
BeanFactorygetType 在接口中 BeanFactoryname - bean nameNoSuchBeanDefinitionException - if a bean does not existpublic java.util.Set<java.lang.String> getAliases(java.lang.Class<?> type)
BeanFactorygetAliases 在接口中 BeanFactorytype - bean typepublic void registerBean(java.lang.Class<?> clazz)
throws BeanDefinitionStoreException
ConfigurableBeanFactoryregisterBean 在接口中 ConfigurableBeanFactoryclazz - bean classBeanDefinitionStoreExceptionpublic void registerBean(java.util.Set<java.lang.Class<?>> clazz)
throws BeanDefinitionStoreException,
ConfigurationException
ConfigurableBeanFactoryregisterBean 在接口中 ConfigurableBeanFactoryclazz - bean classesBeanDefinitionStoreExceptionConfigurationExceptionpublic void registerBean(java.lang.String name,
java.lang.Class<?> clazz)
throws BeanDefinitionStoreException
ConfigurableBeanFactoryregisterBean 在接口中 ConfigurableBeanFactoryname - bean nameclazz - bean classBeanDefinitionStoreExceptionpublic void registerBean(java.lang.String name,
BeanDefinition beanDefinition)
throws BeanDefinitionStoreException,
ConfigurationException
ConfigurableBeanFactoryregisterBean 在接口中 ConfigurableBeanFactorybeanDefinition - bean definitionBeanDefinitionStoreExceptionConfigurationExceptionpublic void addBeanPostProcessor(BeanPostProcessor beanPostProcessor)
ConfigurableBeanFactoryBeanPostProcessoraddBeanPostProcessor 在接口中 ConfigurableBeanFactorybeanPostProcessor - bean post processor instancepublic void removeBeanPostProcessor(BeanPostProcessor beanPostProcessor)
ConfigurableBeanFactoryBeanPostProcessorremoveBeanPostProcessor 在接口中 ConfigurableBeanFactorybeanPostProcessor - bean post processor instancepublic void registerSingleton(java.lang.String name,
java.lang.Object bean)
SingletonBeanRegistryregisterSingleton 在接口中 SingletonBeanRegistryname - bean namebean - bean instancepublic void registerSingleton(java.lang.Object bean)
SingletonBeanRegistryBeanNameCreator to create a nameregisterSingleton 在接口中 SingletonBeanRegistrybean - bean instancepublic java.util.Map<java.lang.String,java.lang.Object> getSingletonsMap()
SingletonBeanRegistrygetSingletonsMap 在接口中 SingletonBeanRegistrypublic java.lang.Object getSingleton(java.lang.String name)
SingletonBeanRegistryBeanDefinition can have a lot of names, so
can't put instances in BeanDefinition.getSingleton 在接口中 SingletonBeanRegistryname - bean namepublic <T> T getSingleton(java.lang.String name,
java.lang.Class<T> targetClass)
name - bean nametargetClass - public void removeSingleton(java.lang.String name)
SingletonBeanRegistryremoveSingleton 在接口中 SingletonBeanRegistryname - bean namepublic void removeBean(java.lang.String name)
throws NoSuchBeanDefinitionException
ConfigurableBeanFactoryremoveBean 在接口中 ConfigurableBeanFactoryname - bean nameNoSuchBeanDefinitionExceptionpublic boolean containsSingleton(java.lang.String name)
SingletonBeanRegistrycontainsSingleton 在接口中 SingletonBeanRegistryname - bean namepublic void registerBeanDefinition(java.lang.String beanName,
BeanDefinition beanDefinition)
BeanDefinitionRegistryregisterBeanDefinition 在接口中 BeanDefinitionRegistrybeanDefinition - bean definitionpublic void destroyBean(java.lang.Object beanInstance,
BeanDefinition beanDefinition)
public void destroyBean(java.lang.String name)
ConfigurableBeanFactorydestroyBean 在接口中 ConfigurableBeanFactoryname - the bean namepublic java.lang.String getBeanName(java.lang.Class<?> targetClass)
BeanFactorygetBeanName 在接口中 BeanFactorypublic void removeBeanDefinition(java.lang.String beanName)
BeanDefinitionRegistryremoveBeanDefinition 在接口中 BeanDefinitionRegistrybeanName - the name of the bean instance to registerpublic BeanDefinition getBeanDefinition(java.lang.String beanName)
BeanDefinitionRegistrygetBeanDefinition 在接口中 BeanDefinitionRegistrybeanName - name of the bean to find a definition fornull)public BeanDefinition getBeanDefinition(java.lang.Class<?> beanClass)
getBeanDefinition 在接口中 BeanDefinitionRegistrybeanClass - bean definition bean classpublic boolean containsBeanDefinition(java.lang.String beanName)
BeanDefinitionRegistrycontainsBeanDefinition 在接口中 BeanDefinitionRegistrybeanName - the name of the bean to look forpublic boolean containsBeanDefinition(java.lang.Class<?> type)
BeanDefinitionRegistrycontainsBeanDefinition 在接口中 BeanDefinitionRegistrytype - bean typepublic boolean containsBeanDefinition(java.lang.Class<?> type,
boolean equals)
BeanDefinitionRegistrycontainsBeanDefinition 在接口中 BeanDefinitionRegistryequals - must equals typepublic java.util.Set<java.lang.String> getBeanDefinitionNames()
BeanDefinitionRegistrygetBeanDefinitionNames 在接口中 BeanDefinitionRegistrypublic int getBeanDefinitionCount()
BeanDefinitionRegistrygetBeanDefinitionCount 在接口中 BeanDefinitionRegistrypublic java.util.Map<java.lang.String,BeanDefinition> getBeanDefinitionsMap()
getBeanDefinitionsMap 在接口中 BeanDefinitionRegistrypublic java.util.Set<PropertyValue> getDependencies()
public void preInitializeSingletons()
throws java.lang.Throwable
ConfigurableBeanFactorypreInitializeSingletons 在接口中 ConfigurableBeanFactoryjava.lang.Throwable - when could not initialize singletonsprotected void preInitialization()
throws java.lang.Exception
java.lang.Exceptionpublic void refresh(java.lang.String name)
ConfigurableBeanFactoryObjectRefreshedEvent.refresh 在接口中 ConfigurableBeanFactoryname - bean namepublic java.lang.Object refresh(BeanDefinition beanDefinition)
ConfigurableBeanFactoryObjectRefreshedEvent.refresh 在接口中 ConfigurableBeanFactorybeanDefinition - bean definitionpublic abstract BeanDefinitionLoader getBeanDefinitionLoader()
public abstract void setBeanDefinitionLoader(BeanDefinitionLoader beanDefinitionLoader)
public BeanNameCreator getBeanNameCreator()
public void setBeanNameCreator(BeanNameCreator beanNameCreator)
Copyright © 2019 TODAY. All rights reserved.