老生谈spring(八):BeanDefinition的注册
1、通过解析bean标签得到创建BeanDefinition的过程已经简单地讲完了,那么下面processBeanDefinition方法(DefaultBeanDefinitionDocumentReader类里)。创建玩Bean Definition并封装成BeanDefinitionHolder以后,就调用BeanDefinitionReaderUtils.registerBeanDefinition进行注册
protected void processBeanDefinition(Element ele, BeanDefinitionParserDelegate delegate) {
BeanDefinitionHolder bdHolder = delegate.parseBeanDefinitionElement(ele);
if (bdHolder != null) {
bdHolder = delegate.decorateBeanDefinitionIfRequired(ele, bdHolder);
try {
// 注册BeanDefinition的holder对象
BeanDefinitionReaderUtils.registerBeanDefinition(bdHolder, getReaderContext().getRegistry());
}
catch (BeanDefinitionStoreException ex<