| |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Abstract superclass that makes implementing a BeanFactory very easy.
This class uses the Template Method design pattern.
Subclasses must implement only the
getBeanDefinition(name)
method.
This class handles resolution of runtime bean references, FactoryBean dereferencing, and management of collection properties. It also allows for management of a bean factory hierarchy, implementing the HierarchicalBeanFactory interface.
Supports "inner bean definitions": Singleton flags and names of such "inner beans" are always ignored: Inner beans are anonymous prototypes.
| Field Summary | |
final static String | FACTORY_BEAN_PREFIXUsed to dereference a FactoryBean and distinguish it from beans created by the factory. |
| Constructor Summary | |
AbstractBeanFactory()Create a new AbstractBeanFactory. | |
AbstractBeanFactory(BeanFactory parentBeanFactory)Create a new AbstractBeanFactory with the given parent. | |
| Method Summary | |
void | addBeanPostProcessor(BeanPostProcessor beanPostProcessor) |
Object | applyBeanPostProcessorsAfterInitialization(Object bean, String name) |
Object | applyBeanPostProcessorsBeforeInitialization(Object bean, String name) |
Object | autowire(Class beanClass, int autowireMode, boolean dependencyCheck) |
void | autowireBeanProperties(Object existingBean, int autowireMode, boolean dependencyCheck) |
boolean | containsBean(String name) |
void | destroySingletons() |
String[] | getAliases(String name) |
Object | getBean(String name)Return the bean with the given name, checking the parent bean factory if not found. |
Object | getBean(String name, Class requiredType) |
abstract AbstractBeanDefinition | getBeanDefinition(String beanName)Return the bean definition for the given bean name. |
List | getBeanPostProcessors()Return the list of BeanPostProcessors that will get applied to beans created with this factory. |
ConstructorArgumentValues | getConstructorArgumentValues(String beanName) |
Map | getCustomEditors()Return the map of custom editors, with Classes as keys and PropertyEditors as values. |
Set | getIgnoredDependencyTypes()Return the set of classes that will get ignored for autowiring. |
RootBeanDefinition | getMergedBeanDefinition(String beanName, boolean includingAncestors)Return a RootBeanDefinition, even by traversing parent if the parameter is a child definition. |
BeanFactory | getParentBeanFactory() |
MutablePropertyValues | getPropertyValues(String beanName) |
String[] | getSingletonNames(Class type)Return the names of beans in the singleton cache that match the given object type (including subclasses). |
void | ignoreDependencyType(Class type) |
boolean | isSingleton(String name) |
void | registerAlias(String beanName, String alias) |
void | registerCustomEditor(Class requiredType, PropertyEditor propertyEditor) |
void | registerSingleton(String beanName, Object singletonObject) |
void | setParentBeanFactory(BeanFactory parentBeanFactory) |
| Field Detail |
public final static String FACTORY_BEAN_PREFIX
myEjb is a factory, getting
&myEjb will return the factory, not the instance
returned by the factory.| Constructor Detail |
public AbstractBeanFactory()
public AbstractBeanFactory(BeanFactory parentBeanFactory)
| Method Detail |
public void addBeanPostProcessor(BeanPostProcessor beanPostProcessor)
public Object applyBeanPostProcessorsAfterInitialization(Object bean, String name)
throws org.springframework.beans.BeansException
public Object applyBeanPostProcessorsBeforeInitialization(Object bean, String name)
throws org.springframework.beans.BeansException
public Object autowire(Class beanClass, int autowireMode, boolean dependencyCheck)
throws org.springframework.beans.BeansException
public void autowireBeanProperties(Object existingBean, int autowireMode, boolean dependencyCheck)
throws org.springframework.beans.BeansException
public boolean containsBean(String name)
public void destroySingletons()
public String[] getAliases(String name)
throws org.springframework.beans.factory.NoSuchBeanDefinitionException
public Object getBean(String name)
throws org.springframework.beans.BeansException
public Object getBean(String name, Class requiredType)
throws org.springframework.beans.BeansException
public abstract AbstractBeanDefinition getBeanDefinition(String beanName)
throws org.springframework.beans.BeansException
public List getBeanPostProcessors()
public ConstructorArgumentValues getConstructorArgumentValues(String beanName)
throws org.springframework.beans.BeansException
public Map getCustomEditors()
public Set getIgnoredDependencyTypes()
public RootBeanDefinition getMergedBeanDefinition(String beanName, boolean includingAncestors)
throws org.springframework.beans.BeansException
public BeanFactory getParentBeanFactory()
public MutablePropertyValues getPropertyValues(String beanName)
throws org.springframework.beans.BeansException
public String[] getSingletonNames(Class type)
Does not consider any hierarchy this factory may participate in.
public void ignoreDependencyType(Class type)
public boolean isSingleton(String name)
throws org.springframework.beans.factory.NoSuchBeanDefinitionException
public void registerAlias(String beanName, String alias)
throws org.springframework.beans.factory.BeanDefinitionStoreException
public void registerCustomEditor(Class requiredType, PropertyEditor propertyEditor)
public void registerSingleton(String beanName, Object singletonObject)
throws org.springframework.beans.factory.BeanDefinitionStoreException
public void setParentBeanFactory(BeanFactory parentBeanFactory)
| Association Links |
myEjb is a factory, getting
&myEjb will return the factory, not the instance
returned by the factory.to Class org.springframework.beans.factory.BeanFactory
to Class java.util.Map
to Class java.util.List
to Class java.util.Set
to Class java.util.Map
to Class java.util.Map
| |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||