前言
作為一位菜鳥級的碼農(nóng),深感知識匱乏之窘境。在為此煩惱之時一朋友向我推薦了Spring boot
源碼系列,站在巨人肩旁上學(xué)習(xí)之余向大家分享一些學(xué)有所得的干貨。在了解Spring Boot
之前可先了解下 什么是Spring Boot 和Spring Boot與Spring MVC的區(qū)別是什么? 從而對Spring boot
有一個清晰的定位。
我們先看下百度百科的Spring Boot特點介紹
- 簡化
Maven
配置,自動配置Spring
、零配置啟動- 內(nèi)置
tomcat
、jetty
、undertow
三大web容器- 將應(yīng)用打包成為一個
jar
/war
通過jar啟動應(yīng)用
碼農(nóng)的福音戰(zhàn)士,簡化了開發(fā)前期的配置工作,極大的提高了碼農(nóng)們的生產(chǎn)力。
單刀主題
Spring Boot的一個及其吸引人的特性是將應(yīng)用打包成jar
或war
包直接啟動。我們可以先了解下jar
解壓包的MANIFEST.MF
從啟動清單文件中我們知道有兩個很重要的參數(shù)
jar
包啟動類Main-Class
及應(yīng)用程序啟動類Start-Class
,其中Start-Class
直指我們程序中的main
函數(shù)類Application
在斷點進入
Application.class
代碼,我們會執(zhí)行了兩個方法:一個是initialize()
初始化啟動參數(shù)變量,最重要的是決定是否加載web容器第二個
run()
加載所需容器并啟動當(dāng)你的微服務(wù)啟動成功時你會看到
當(dāng)你看到你控制臺輸出
Tomcat started on port(s): 8080 (http)
你會有這樣的疑問,我什么web服務(wù)器參數(shù)都沒配置,怎么就占用了8080
端口啟動,接著就會有以下疑問:要是我電腦8080
端口被占用了Spring Boot Tomcat
不能正常啟動,該怎么配置其他端口或是怎么配置其他個性化的參數(shù)。由于篇幅限制這些我都會在下期Spring Boot 啟動原理
解析中詳解Tomcat
加載啟動,以及Spring Boot
是如何加載配置的。
末尾
知識源于點滴積累。每當(dāng)回首過往碼農(nóng)路,他人問我技術(shù)問題而不能答上時而深感自行慚愧。與大家分享些技術(shù)干貨,作為一個自我成長的切入點。本人才疏學(xué)淺,寫的不對的或分析不夠透徹的地方還望大家大刀予以斧正,也歡迎大家關(guān)注我的簡書見證我的成長,名為柴碼
給自己定一小目標(biāo):每兩周或一周一更