springframework源代码阅读杂记(1)---DefaultListableBeanFactory与GenericBeanDefinition类
Spring中最重要的容器类是DefaultListableBeanFactory,其定义如下
public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory
implements ConfigurableListableBeanFactory, BeanDefinitionRegistry, Serializable {
其中
AbstractAutowireCapableBeanFactory实现了容器内部对象的装配功能,
ConfigurableListableBeanFactory是实现了容器内部对象的访问和查询功能,
BeanDefinitionRegistry主要是实现了BEAN对象的解析功能。
DefaultListableBeanFactory的完整类图如下:

在XML的解析过程中,Spring会将XML中的元素节点解析并且保存到GenericBeanDefinition类对象中,
GenericBeanDefinition的类继承图如下:

在DefaultListableBeanFactory中。定了MAP来保存所有解析后得到的GenericBeanDefinition
/** Map of bean definition objects, keyed by bean name */ private final Map<String, BeanDefinition> beanDefinitionMap = new ConcurrentHashMap<String, BeanDefinition>(256);

浙公网安备 33010602011771号