springboot2.0源碼 V1

目錄

 

啓動函數

源碼解析

第一步SpringApplication構造函數源碼:

第二步run方法源碼:

解析@EnableAutoConfiguration

springboot如何加載tomcat

springboot如何加載加載springmvc


啓動函數

SpringApplication.run(Application.class,args);

等於

源碼解析

解析:new SpringApplication(Application.class).run(args);

第一步解析:SpringApplication構造函數;

第二步解析:run方法;

第一步SpringApplication構造函數源碼

從springboot源碼的spring.factories文件中獲取ApplicationContextInitializerApplicationListener

注:在Spring Boot中有一種非常解耦的擴展機制:Spring Factories。

       它在META-INF/spring.factories文件中配置接口的實現類名稱,然後在程序中讀取這些配置文件並實例化。

第二步run方法源碼:

解析@EnableAutoConfiguration

1. @SpringBootApplication包含@EnableAutoConfiguration

2. 點擊進入@EnableAutoConfiguration類

3. 點擊進入:AutoConfigurationImportSelector.class

4. springboot整合的第三方工具框架存加載位置(也是採用擴展機制:Spring Factories方式加載):

解析springboot如何加載tomcat

  1. 進入 ServletWebServerFactoryAutoConfiguration類org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration

2. tomcat配置文件-配置類

3. tomcat啓動類方法

解析springboot如何加載springmvc

 

  1. 進入WebMvcAutoConfiguration類
    org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration

加載DispatcherServlet

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章