zoukankan      html  css  js  c++  java
  • spring2

    spring源码解析

    bean的解析及注册

    XmlBeanFactory.XmlBeanFactory(Resource resource,BeanFactory parentBeanFactory)

    XmlBeanDefinitionReader.loadBeadDefinitions(Resource resource)

    XmlBeanDefinitionReader.loadBeadDefinitions(EncodedResource encodedResource )

    XmlBeanDefinitionReader.doLoadBeadDefinitions(InputSource inputSource,Resource resource)

    XmlBeanDefinitionReader.registerBeanDefinitions(Document doc,Resource resource)

    DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(Document doc,XmlReaderContext readerContext)

    DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(Element root)

    DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(Element root, BeanDefinitionParserDelegate delegate)

    DefaultBeanDefinitionDocumentReader.parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate)

    DefaultBeanDefinitionDocumentReader.processBeanDefinition(Element ele, BeanDefinitionParserDelegate delegate)

    BeanDefinitionParserDelegate.parseBeanDefinitionElement(Element ele)

    BeanDefinitionParserDelegate.parseBeanDefinitionElement(Element ele,@Nullable BeanDefinition ...)

    BeanDefinitionParserDelegate.parseBeanDefinitionElement(Element ele,String beanName,@Nullable BeanDefinition containingBean)

    创建bean对象(getBean流程)

    AbstractBeanFactory.getBean(String name)

    AbstractBeanFactory.doGetBean(String name,Class<T> requiredType...)

    DefaultSingletonBeanRegirstry.getSingleton(String beanName)

    DefaultSingletonBeanRegirstry.getSingleton(String beanName,ObjectBeanFactory<?> singletonFactory)

    AbstractAutowireCapableBeanFactory.createBean(String beanName,RootBeanDefinition mbd,Object args)

     

    1.创建bean对象

    AbstractAutowireCapableBeanFactory.doCreateBean(String beanName,RootBeanDefinition mbd,Object args)

    AbstractAutowireCapableBeanFactory.createBeanInstance(String beanName,RootBeanDefinition mbd,Object args)

    instantiateBean(String beanName,RootBeanDefinition mbd)

    2.填充bean的属性

    3.初始化bean(init方法)

     

     

     

     

     

  • 相关阅读:
    Python3.7.1学习(六)RabbitMQ在Windows环境下的安装
    使用jmeter进行简单的压测
    python中mock的使用
    python-shutil模块
    python-常用模块之os、sys
    python-冒泡排序
    python-正则基础
    python-二维数组实现90度旋转
    python-使用递归实现二分法
    python-递归的实现
  • 原文地址:https://www.cnblogs.com/BonnieWss/p/12853289.html
Copyright © 2011-2022 走看看