感謝閱讀,到這里,本系列課程就結束了。
一、為什么選擇 SpringBoot Starter
SpringBoot 近年來已經成為 Java 應用的必備框架; 而 SpringBoot starter 模式已經成為各大中間件集成到 SpringBoot 應用的首選方式,通過引入 xxx-starter 實現快速集成。保證了應用程序的擴展性和集成性,形成了一個繁榮的生態。
近年來,SpringBoot starter 在面試中也頻頻出現; 此題目也被我作為高頻題目來考核那些熟悉 SpringBoot 的候選人。
能夠寫出一個可以在整個公司都能夠復用的 Starter,那么在晉升、年度匯報上,都將是很好的技術加分項。對于剛參加工作的同學,訓練寫一個 Starter,也將是提升技術能力的有效方式。
Starter 把復雜留個自己,把簡單留個別人;反復實踐后,感嘆其精美的設計和實現,出于以上幾點原因,我希望將這項技術能力,分享給廣大 Java 愛好者。
希望通過本教程知道 SpirngBoot 自動裝配能力、Starter 原理,以及快速實現一個 Starter。
二、寫作記錄
- 3月初萌生了寫一個系列的想法
-
3.5 定了主題,SpringBoot Starter
-
3.8 正式開始寫作, 規劃了大綱,先有一個初稿
-
3.12 過期一周,思考了很多點子想法,但是離寫好一個小冊子還很遠
-
3.13 終于寫出了第一章的,萬事開頭難,邁開第一步就成功一半
-
3.14 當我想寫一個 Starter 案例的時候,發現無從下筆,感覺是一個阻礙,寫作并不是那么容易
-
3.16 晚上,終于將 mybatis-spring-boot-starter 的案例寫出來,并正確運行了,但是已經凌晨了
-
3.19 又到凌晨,寫了一半的運行流程和源碼理解; 還想繼續寫,但明天還得上班,洗漱睡覺
-
3.23 周末一整天,把運行原理好好梳理了一下,這是比較復雜、有深度的一章。
-
3.24 對前幾天的內容做了一個反思。 寫作需要將復雜的事情寫簡單,而不是將簡單的事情寫復雜。內容需要做減法,刪除廢話,保持清爽。
-
3.26 終于把案例補充完成并且跑通了。寫作能將我的知識融會貫通
-
3.27-3.28 寫了一個滑動窗口的 starter
-
3.28 琢磨著使用 @Enable (import) 的方式來替換 spring.factories。把 redisson 的分布式鎖寫成一個 starter 試試。
-
3.29 把面試題目整理一下
-
3.31 整個系列快完工了,大概十來章,但是還比較粗糙,還需要一個較長的時間來潤色優化。放棄了 3 月的掘金計劃,時間有限
-
4.4. 清明節,開始對文章進行優化,潤色排版等精細化的事情。陸陸續續快一個月了。今天潤色排版了前三篇文章;又干到了凌晨1點過
-
4.5 一整體,整理自動裝配的源碼流程,是一個繁瑣的過程,也是比較難得部分,到凌晨12點,休息了。
-
4.6 對面試章節做了一些整理工作
-
4.7-4.8 晚上,睡不著,整理幾個時序圖。繼續豐富內容。
-
4.13 再次潤色,查理補缺。
-
4.14 提交了申請,并將12節文章都潤色了一遍。
三、感想
行則雖遠必至; 只要去做,就能完成
在寫這個系列的時候,常常也擔心把知識講錯,誤人子弟;同時也擔心把本來簡單的知識點講復雜。
如果在學習過程關于本教程有任何問題可隨時留言。限于作者水平,難免掛一漏萬,如有紕漏,不吝賜教。