Spring源码系列
文章平均质量分 96
青衫白衣98
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。
展开
-
Sping源码——循环依赖
Sping源码——循环依赖一、循环依赖介绍二、源码分析,循环依赖2.1 获取A:getBean(a)2.1.1 检查缓存getSingleton(a)2.1.2 执行getSingleton(beanName,singletonFactory)2.1.3 真正创建A:doCreateBean(beanName, mbdToUse, args)2.1.4.1 获取B:调用doGetBean()方法2.1.4.2 真正创建B对象:doCreateBean()2.1.4.3 B对象创建完后续操作2.1.4 A对象原创 2021-11-25 16:47:59 · 613 阅读 · 0 评论 -
Spring源码-Bean的生命周期
Spring源码-Bean的生命周期一、finishBeanFactoryInitialization(beanFactory)1.1 preInstantiateSingletons()二、getBean(name)方法三、doGetBean(name, null, null, false)方法3.1 用于FactoryBean的解析:transformedBeanName(name)3.2 getSingleton(beanName)四、getSingleton(beanName,singletonFa原创 2021-11-24 10:48:31 · 579 阅读 · 0 评论 -
Spring源码-IOC加载过程(注解方式加载)
Spring-IOC加载过程(注解方式加载)一、源码分析的入口二、this()调用构造函数2.1 super()隐式调用父类的构造方法2.2 初始化AnnotatedBeanDefinitionReader2.3 初始化bean定义扫描ClassPathBeanDefinitionScanner三、register(annotatedClasses)注册配置类为BeanDefinition四、refresh()4.1 prepareRefresh()4.2 obtainFreshBeanFactory()4原创 2021-11-19 15:48:31 · 822 阅读 · 0 评论