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);

 

  

 

posted @ 2017-07-20 13:57  王久勇  阅读(224)  评论(0)    收藏  举报