S1xml文件等资源类  – 对各种资源类的封装+encode

S2读取xml文件 – 对xml文件的校验、load、read(这里的read调用BeanDefinitionDocumentReader)
主要在XmlBeanDefinitionReader中
S3解析属性(xml中标签) –从xml到Bean
实现在DefaultBeanDefinitionDocumentReaderdoRegisterBeanDefinitions() 中解析了profile属性,并且其中的parseBeanDefinitions()是解析xml的开始。
根据不同的namespace和nodename,分别不同处理
1  | if (delegate.nodeNameEquals(ele, IMPORT_ELEMENT)) {  | 
处理过程涉及到BeanDefinitionParserDelegate BeanDefinitionHolder BeanDefinitionReaderUtils XmlReaderContext
delegate中对元素(属性)进行解析,结果放入holder中,此时holder已经包含了各种属性。再由Utils中将holder进行注册。最后由context将注册结果通知监听器。
S4注册
    本文作者:
    
      yuqing wang
    
    
本文链接: https://satyrswang.github.io/2021/03/11/bean解析及注册源码/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
      
      
      
        
      
    本文链接: https://satyrswang.github.io/2021/03/11/bean解析及注册源码/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!