timebusker/spring-boot:23 个模块把 Spring Boot 拆给你看

这个仓库在 GitHub 上拿到 1273 颗 Star。

作者 timebusker 把 Spring Boot 拆成 23 个独立模块,从最基础的入门程序到多数据源、消息队列、Vue 后台管理系统逐个走一遍。仓库本身就是一份按目录组织的实战教程。

正文顶部截图

1、 这仓库是干嘛的

一句话讲:用 23 个 spring-boot-x-xxx 子模块演示 Spring Boot 在生产环境里常用的那些事。

不是把这些功能讲一遍就完,而是每个模块一个可独立运行的 Maven 工程,照着代码读、跑、改,比单纯看文档踏实得多。作者blog地址 timebusker.top 上有配套文字说明,仓库代码和博客文章互为补充。

定位偏学习而不是生产,适合已经入门 Spring、想系统性补一遍 Boot 各方向实战的人。

2、 23 个模块都覆盖了什么

按目录顺序往下读,基本就是 Spring Boot 生态的常见话题清单:

入门程序、RESTful API、Log4j/Log4j2/Logback 三套日志框架、定时任务、@Async 异步调用、全局异常捕获、Ehcache 缓存、AOP 切面、JavaMailSender 邮件、Spring Data 持久层、Spring Security 安全框架、Swagger2 API 文档、MyBatis、JdbcTemplate、Redis、事务一致性、应用健康监控、消息队列、自定义 Starter、Freemarker 模板、多数据源、基于 Vue 的 Web 后台、MongoDB。

README区域截图

可以看到每个模块在 README 里以目录链接形式罗列,点进去就是该子模块的源码。这种组织方式的好处是不用满世界找教程仓库,一个 clone 全搬走。

3、 几个值得单独提的模块

第二十一个多数据源模块是很多人会卡住的地方,作者把配置原理单独拆出来讲,比那些塞在生产代码里看不清主线的写法更利于理解。

第十九个自定义 Starter 模块对应 Spring Boot 自动装配那一套机制。要弄懂 spring.factories、Conditional 系列注解、配置属性绑定是怎么协作的,自己写一个 Starter 走一遍流程比读十篇文章管用。

第十七个应用健康监控接的是 Spring Boot Actuator,是上线后运维那一段的入门。

第二十二个基于 Vue 搭 Web 后台把前后端拉通,不少团队内部管理系统就是这种形态,可以直接拿来做脚手架。

4、 关于模板引擎那段说明

README 末尾有一段关于模板引擎的讨论,作者的观点是:前后端分离大趋势下模板引擎用得少,但在邮件模板这类场景仍有价值。Spring Boot 对 Thymeleaf 和 Freemarker 支持友好,不建议用 JSP,原因是嵌入式 servlet 容器对 JSP 有使用限制。

这段说明对刚选型的人有参考价值。选 Thymeleaf 还是 Freemarker 通常是项目里的早期决定,作者给了他的判断。

5、 适合谁看

刚从 Spring 过渡到 Spring Boot、想通过可跑代码摸清生态各方向的人。已经有几年 Spring Boot 经验的,里面大部分模块应该都接触过,价值相对有限。

仓库代码结构清晰,子模块之间依赖少,可以挑感兴趣的几个 clone 下来直接跑。配合作者博客文章一起看效果更好。

子模块之间依赖少,可以挑感兴趣的几个 clone 下来直接跑。配合作者博客文章一起看效果更好。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐