几张图了解spring doGetBean

一、doGetBean 图例

doGetBean 启程

org.springframework.beans.factory.support.AbstractBeanFactory#doGetBean
几张图了解spring doGetBean_第1张图片

实例化前预处理

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[])
几张图了解spring doGetBean_第2张图片

实例化

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#doCreateBean
几张图了解spring doGetBean_第3张图片

实例化后填充属性值

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#populateBean
几张图了解spring doGetBean_第4张图片

实例化填充后初始化 initializeBean 流程

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#initializeBean(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition)
几张图了解spring doGetBean_第5张图片

二、参考

Spring循环依赖及解决方式
Spring BeanWrapper分析
Spring 手动注册bean
Spring - lookup-method方式实现依赖注入
Spring生成bean的过程
Spring扩展点总结

三、总结

spring 代码较多,看着也比较头疼,可能看着看着就忘了… 毕竟开发框架、中间件 扩展的机会还是比较少,但是对于spring的使用还是必须铭记于心,本文主要是给自己总结~没事的时候回来看看。-- 2020-06-22(农历五月过两天) 于杭州

你可能感兴趣的:(spring,原理分析)