springboot原始碼解析-管中窺豹系列之BeanDefine如何載入(十三)
阿新 • • 發佈:2021-03-25
# 一、前言
- Springboot原始碼解析是一件大工程,逐行逐句的去研究程式碼,會很枯燥,也不容易堅持下去。
- 我們不追求大而全,而是試著每次去研究一個小知識點,最終聚沙成塔,這就是我們的springboot原始碼管中窺豹系列。
![ 簡介 ](https://zhangbin1989.gitee.io/blog/picture/zb0018_springsour/springboot_source_0.png)
# 二、beanDefinition如何載入
- 我們之前介紹了beanDefinition的結構: springboot原始碼解析-管中窺豹系列之BeanDefinition(八)
- 我們之前也介紹了BeanPostProcessor和BeanFactoryPostProcessor
- 我們也介紹了自動裝配,各種使用getBean的呼叫
- 有個核心問題沒有解決:beanDefinition是什麼時候載入進springcontext容器的?又是如何生成bean的?
- 我們先解決第一個問題:beanDefinition是什麼時候載入?
# 三、原始碼分析
進入到SpringApplication的run方法,不熟悉的看第一節:springboot原始碼解析-管中窺豹系列之總體結構(一)
```
public ConfigurableApplicationContext run(String... args) {
StopWatch stopWatch = new StopWatch();
stopWatch.start();
ConfigurableApplicationContext context = null;
Co