Loading

摘要: 可以说前面的都是准备工作,而接下来开始的才是重点,在这一步会完成 BeanFactory 的初始化,同时实例化单例 Bean。 阅读全文
posted @ 2021-01-19 11:18 程序员小航 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 上一篇介绍了国际化的使用以及初始化消息源的源码,接下来接着往下阅读,将进入 initApplicationEventMulticaster 、onRefresh 和 registerListeners 的相关操作逻辑。 阅读全文
posted @ 2021-01-19 11:17 程序员小航 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 在阅读完 registerBeanPostProcessors 源码之后, 下一步就进入到 initMessageSource,这一步主要作用是初始化国际化文件。 阅读全文
posted @ 2021-01-19 11:16 程序员小航 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 前面通过 invokeBeanFactoryPostProcessors 这一步了解到了什么是 BeanFactoryPostProcessor ,以及 BeanFactoryPostProcessor 的使用及作用,并通过 invokeBeanFactoryPostProcessors 这一步源码,对 BeanFactoryPostProcessor 的加载流程有了进一步了解。 阅读全文
posted @ 2021-01-19 11:14 程序员小航 阅读(212) 评论(0) 推荐(0) 编辑
摘要: invokeBeanFactoryPostProcessors 会执行 BeanFactory 的后置处理器。看到这里会有疑问: 1. 什么是 BeanFactoryPostProcessor ? 2. BeanfactoryPostProcessor 该如何使用? 阅读全文
posted @ 2021-01-19 11:13 程序员小航 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 根据 refresh 流程,当 `obtainFreshBeanFactory` 执行结束后,下一步会执行 `prepareBeanFactory` ,顾名思义,这个方法主要是`准备 BeanFactory`,下面一起看一看这部分逻辑。 阅读全文
posted @ 2021-01-19 11:11 程序员小航 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 前面的准备工作结束之后,就是进入核心代码 refresh。 阅读全文
posted @ 2021-01-19 11:09 程序员小航 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 看完无参构造的源码及流程之后,后面将会执行 `register` 方法。 阅读全文
posted @ 2021-01-19 11:08 程序员小航 阅读(368) 评论(0) 推荐(0) 编辑
摘要: AnnotationConfigApplicationContext 构造函数除了初始化一个 `reader` ,还有一个 `scanner`,下面来一起看看 `ClassPathBeanDefinitionScanner` 都有什么逻辑。 阅读全文
posted @ 2021-01-19 11:04 程序员小航 阅读(251) 评论(0) 推荐(0) 编辑
摘要: BeanDefinition 的概念也了解了,也知道一个 Bean 在 Spring 中定义的信息有哪些之后,继续言归正传。 阅读全文
posted @ 2021-01-19 11:03 程序员小航 阅读(568) 评论(0) 推荐(0) 编辑
摘要: BeanDefinition:顾名思义,就是 Bean 的定义,是用来描述一个 Bean 都有什么信息。前面说在初始化 `DefaultListableBeanFactory` 时,会初始化一个 `Map 阅读全文
posted @ 2021-01-19 11:02 程序员小航 阅读(293) 评论(0) 推荐(0) 编辑