获取 Document 对象后,会根据该对象和 Resource 资源对象调用 registerBeanDefinitions()
方法,开始注册 BeanDefinitionsspring
registerBeanDefinitions()
是在接口 BeanDefinitionDocumentReader 中定义DefaultBeanDefinitionDocumentReader post
调用 doRegisterBeanDefinitions()
开启注册 BeanDefinition 之旅测试
parseBeanDefinitions()
进行解析动做,不过在该方法以前以后分别调用 preProcessXml()
和 postProcessXml()
方法来进行前、后处理,目前这两个方法都是空实现,交由子类来实现parseBeanDefinitions()3d
parseDefaultElement(ele, delegate)
和 delegate.parseCustomElement(root)
咱们知道在 Spring 有两种 Bean 声明方式:code
<bean id="studentService" class="org.springframework.core.StudentService"/>
<tx:annotation-driven>
parseDefaultElement()
进行解析,不然调用 delegate.parseCustomElement()
方法进行自定义解析