Spring-BeanDefinition探究
目标
BeanDefinition是什么?是什么时候创建的?
探究过程
refresh中
obtainFreshBeanFactory中
refreshBeanFactory中
在loadBeanDefinitions中有一点需要注意
loadBeanDefinitions中
loadBeanDefinitions中
loadBeanDefinitions中
loadBeanDefinitions中
loadBeanDefinitions中
doLoadBeanDefinitions中
registerBeanDefinitions中
registerBeanDefinitions中
doRegisterBeanDefinitions中
parseBeanDefinitions中
parseDefaultElement中
processBeanDefinition中
registerBeanDefinition中
registerBeanDefinition中
结论
在容器创建时会县区创建一个beanFactroy,然后使用XmlBeanDefinitionReader去读取xml配置文件,把里面的标签进行解析,然后创建BeanDefinition对象来存放bean标签中的各个属性的值。所以BeanDefinition相当于就是保存了bean的定义信息的对象
BeanDefinition被创建后会被存入BeanFactory的BeanDefinitionmap集合、BeanDefinitionNames中