之前在排查一個線上問題時,不得不仔細跑了很多遍Spring Boot的代碼,於是整理一下,我用的是1.4.3.RELEASE。 首先,普通的入口,這沒什么好說的,我就隨便貼貼代碼了: public static ...
一切從SpringApplication.run 開始,最終返回一個ConfigurableApplicationContext 構造了一個SpringApplication對象,然后調用它的run方法。下面看下構造方法都做了什么 推斷Web應用類型 WebApplicationType ,本例中是SERVLET 設置 Bootstrapper ApplicationContextInitiali ...
2021-03-13 17:39 0 453 推薦指數:
之前在排查一個線上問題時,不得不仔細跑了很多遍Spring Boot的代碼,於是整理一下,我用的是1.4.3.RELEASE。 首先,普通的入口,這沒什么好說的,我就隨便貼貼代碼了: public static ...
書接上篇 該說refreshContext(context)了,首先是判斷context是否是AbstractApplicationContext派生類的實例,之后調用了強轉為Abstrac ...
使用 Spring Boot 默認的日志框架 Logback。 所有這些 POM 依賴的好處在於為開發 Spring 應用提供了一個良好的基礎。Spring Boot 所選擇的第三方庫是經過考慮的,是比較適合產品開發的選擇。但是 Spring Boot 也提供了不同的選項,比如日志框架可以用 ...
首先貼一張很不錯的圖,SpringBoot啟動結構圖,圖片出自SpringBoot啟動流程解析。 本文的分析基於Spring Boot 2.1.5,非Spring的代碼只有下面這個啟動main函數: @SpringBootApplication public ...
之前在Spring Boot啟動過程(二)提到過createEmbeddedServletContainer創建了內嵌的Servlet容器,我用的是默認的Tomcat。 getEmbeddedServletContainerFactory方法中調用 ...
首先,對於一個web應用,其部署在web容器中,web容器提供其一個全局的上下文環境,這個上下文就是ServletContext,其為后面的spring IoC容器提供宿主環境; 其次,在web.xml中會提供有contextLoaderListener。在web容器啟動時,會觸發 ...
參考 知識星球 中 芋道源碼 星球的源碼解析,一個活躍度非常高的 Java 技術社群,感興趣的小伙伴可以加入 芋道源碼 星球,一起學習😄 該系列文章是筆者在學習 Spring Boot 過程中總結下來的,里面涉及到相關源碼,可能對讀者不太友好,請結合我的源碼注釋 Spring ...
開源項目推薦 Pepper Metrics是我與同事開發的一個開源工具(https://github.com/zrbcool/pepper-metrics),其通過收集jedis/mybatis/h ...