獲取 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()
方法進行自定義解析