spring ioc 源码阅读

xml的读入

abstractXmlApplicationContext.java
的loadBeanDefinitions

1bean的解析->beandifinition

真正负责读取xml文件的类是XmlBeanDefinitionReader
doLoadBeanDefinitions
读入一个dom对象 然后进行解析

解析xml文件完成后会得到一个GenericBeanDefinition对象

在向ioc注册的时候使用的是BeanDefinitionHolder
2bean的注册
在defaultListableBeanFactory 文件中调用registerBeanDefinition
本质上是同步的想一个currenthashMAp放入一个beandefinition key是bean的id

3依赖注入
https://www.jianshu.com/p/b2ba6a72adde[bean初始化的钩子]

由于bean的初始化一般是用户第一次去拿bean的时候才进行初始化
书中的阅读起点是defaultbeanfactory 的基类abstractbeanfactory 的getBean来开始阅读的

abstractautoWireCapableBeanFactory 的生成对象 createBeanInstance
simpleInstantiationStratege instantiateBean
设置值 populateBean

你可能感兴趣的:(源码mybatis)