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方法)

     

     

     

     

     

  • 相关阅读:
    什么是 bean 的自动装配?
    什么是 Spring 的内部 bean?
    什么是 Spring 的 MVC 框架?
    Spring AOP and AspectJ AOP 有什么区别?
    解释 JDBC 抽象和 DAO 模块?
    volatile 类型变量提供什么保证?
    一个 Spring Bean 定义 包含什么?
    什么是 Spring MVC 框架的控制器?
    使用 Spring 访问 Hibernate 的方法有哪些?
    什么是 Callable 和 Future?
  • 原文地址:https://www.cnblogs.com/BonnieWss/p/12853289.html
Copyright © 2011-2022 走看看