1. 程式人生 > >springboot原始碼解析-管中窺豹系列之bean如何生成?(十四)

springboot原始碼解析-管中窺豹系列之bean如何生成?(十四)

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