Abstract superclass for BeanFactory implementations, implementing the
ConfigurableBeanFactory SPI interface. Does not assume a listable
bean factory: can therefore also be used as base class for bean factory
implementations which fetch bean definitions from a variety of backend
resources (where bean definition access is an expensive operation).
This class provides singleton/prototype determination, singleton cache,
aliases, FactoryBean handling, bean definition merging for child bean definitions,
and bean destruction (DisposableBean interface, custom destroy methods).
Furthermore, it can manage a bean factory hierarchy, through implementing the
HierarchicalBeanFactory interface (superinterface of ConfigurableBeanFactory).
The main template methods to be implemented by subclasses are
getBeanDefinition and createBean, retrieving a
bean definition for a given bean name or creating a bean instance for a
given bean definition. Default implementations for those can be found in
DefaultListableBeanFactory or AbstractAutowireCapableBeanFactory, respectively.
This class provides singleton/prototype determination, singleton cache, aliases, FactoryBean handling, bean definition merging for child bean definitions, and bean destruction (DisposableBean interface, custom destroy methods). Furthermore, it can manage a bean factory hierarchy, through implementing the HierarchicalBeanFactory interface (superinterface of ConfigurableBeanFactory).
The main template methods to be implemented by subclasses are
getBeanDefinitionandcreateBean, retrieving a bean definition for a given bean name or creating a bean instance for a given bean definition. Default implementations for those can be found in DefaultListableBeanFactory or AbstractAutowireCapableBeanFactory, respectively.