感谢阅读,到这里,本系列课程就结束了。
一、为什么选择 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节文章都润色了一遍。
三、感想
行则虽远必至; 只要去做,就能完成
在写这个系列的时候,常常也担心把知识讲错,误人子弟;同时也担心把本来简单的知识点讲复杂。
如果在学习过程关于本教程有任何问题可随时留言。限于作者水平,难免挂一漏万,如有纰漏,不吝赐教。