# spring-boot-best-practice **Repository Path**: szm1991/spring-boot-best-practice ## Basic Information - **Project Name**: spring-boot-best-practice - **Description**: Spring Boot 最全教程 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 14 - **Created**: 2023-05-25 - **Last Updated**: 2023-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # spring-boot-best-practice > :rocket: 本仓库提供了 Spring Boot 主流知识点实战示例,大家可以随意下载学习。 > > :star: 本项目会长期更新,为避免迷路,请点击右上角 **Star** 关注本项目。 ## :fire: 为什么要学 Spring Boot? Spring 作为 Java 开发界的万能框架,曾经和 Struts2、Hibernate 框架组成 SSH,成为 Java Web 开发的三驾马车。大概在 2013 年左右,又和 Spring MVC、MyBatis 框架组成 SSM,成为新一代的 Web 开发框架全家桶,一直流行延续至今。 **而为了简化 Spring 框架的上手难度**,Spring Boot 框架于 2014 年诞生,可以帮助开发者更加轻松、快捷地使用 Spring 的组件,它是 Spring、Spring MVC 等框架更上一层的框架,它需要依赖于 Spring、Spring MVC 等原生框架,而不能独立存在。 学会 Spring Boot,可以简化使用 Spring 基础组件的难度,还是学习 Spring Cloud 微服务框架的基础,**因为 Spring Cloud 的基础就是 Spring Boot。** Spring Boot 代表了企业的真实需求,它表现在 Java 工程师、架构师的**求职面试技能清单上,Spring Boot 几乎是必备技能。** 所以,要成为合格的 Java 程序员,要学习 Spring 全家桶,Spring Boot 则是必经之路。 ## :heart: Spring Boot 教程(免费) R哥最初接触和学习 Spring Boot 框架是在 2016 年,工作之余,茶余饭后经常会和同事们聊聊最新的 Java 技术,Spring Boot 框架就是其中之一,那时候虽然应用还不是很广泛,但却很火热,然后它就逐渐成为了炙手可热的 Java 框架。 自 2016 起,R哥有幸负责和参与公司的多个系统重构,这其中就包括由 SSM 框架更新到以 Spring Boot 框架为基础的转型,也包括以 Spring Cloud 框架为基础的微服务系统的设计和研发,Spring Cloud 框架的基础就是基于 Spring Boot 框架构建。 在多年的实际开发和架构工作中,R哥积累了大量的 Spring Boot 框架使用经验,见证了 Spring Boot 1.x ~ 3.x 的发展历史,也写了大量的 Spring Boot 免费教程。 > :bell: **以下教程陆陆续续写了好几年,部分内容可能过时,仅供大家参考学习:exclamation:** - [什么是 Spring Boot?](https://mp.weixin.qq.com/s/jWLcPxTg9bH3D9_7qbYbfw) - [Spring Boot 开启的 2 种方式](https://mp.weixin.qq.com/s/PYM_iV-u3dPMpP3MNz7Hig) - [Spring Boot 主类及目录结构介绍](https://mp.weixin.qq.com/s/auJGrOFVGlH8uzdk9SIHPw) - [Spring Boot 核心配置文件详解](https://mp.weixin.qq.com/s/BzXNfBzq-2TOCbiHG3xcsQ) - [Spring Boot 核心配置](https://mp.weixin.qq.com/s/H144Kq4-A2Jlz1ijcQJURA) - [Spring Boot 最核心的 3 个注解详解](https://mp.weixin.qq.com/s/kNvy_0jb4oJtYdaxryq5xg) - [Spring Boot 运行应用的 3 种方式](https://mp.weixin.qq.com/s/lZsQnvlR38TLuV--D3F7Ag) - [Spring Boot Starters启动器](https://mp.weixin.qq.com/s/9HJVGlplze5p0eBayvhFCA) - [Spring Boot Runner 启动器](https://mp.weixin.qq.com/s/WeO2kJLV6LKez56T5GG35Q) - [Spring Boot Profile 不同环境配置](https://mp.weixin.qq.com/s/K0kdQwoo2t5FDsTUJttSAA) - [Spring Boot 功能实战](https://mp.weixin.qq.com/s/rrpXE8PnYdilsCQf2J3w9w) - [Spring Boot 自动配置原理、实战](https://mp.weixin.qq.com/s/gs2zLSH6m9ijO0-pP2sr9Q) - [Spring Boot 读取配置的几种方式](https://mp.weixin.qq.com/s/aen2PIh0ut-BSHad-Bw7hg) - [Spring Boot 配置加载顺序详解](https://mp.weixin.qq.com/s/tFrRMM25LVE_2AG23lK5qQ) - [Spring Boot Server 容器配置](https://mp.weixin.qq.com/s/aEghlvBHE9rpfsAjiq1Kfw) - [Spring Boot 日志集成](https://mp.weixin.qq.com/s/OAyzUNIgBPkPVCy23gh-WA) - [Spring Boot 定制启动图案](https://mp.weixin.qq.com/s/-Fy5A6LP1n2DMdPPsa5oVg) - [Spring Boot 整合 Thymeleaf 模板引擎](https://mp.weixin.qq.com/s/zqyy_kmF0hkJrdhE-mjzlA) - [Spring Boot 国际化支持](https://mp.weixin.qq.com/s/NSmxsn242T5pUaGp2ncvow) - [Spring Boot Debug 调试](https://mp.weixin.qq.com/s/xLaxWFQw5ZLnR-z-5Zz2Rg) - [Spring Boot 实现热部署](https://mp.weixin.qq.com/s/uv8jIztilO_QvGc7qGhSAA) - [Spring Boot 发布 jar 包转为 war 包](https://mp.weixin.qq.com/s/RQAPIwQJ2jMmlcM76LJhSQ) - [Spring Boot 集成 Mybatis 实现双数据源](https://mp.weixin.qq.com/s/nRTsbZRgT92ZcXQLkEzaSA) - [Spring Boot 单元测试详解+实战教程](https://mp.weixin.qq.com/s/6vLJC-zPbwwlT7eXo3_Zww) - [Spring Boot 配置随机数那些小技巧](https://mp.weixin.qq.com/s/UJRcejQaBVLIcblLD-fkMQ) - [Spring Boot 启动全过程源码分析](https://mp.weixin.qq.com/s/iMPXjuKRKT5lMZ4oVSp4Ww) - [Spring Boot 最核心的 25 个注解](https://mp.weixin.qq.com/s/lOA9djEptJyZ2sm93nxr-Q) - [Spring Boot 集成 Swagger](https://mp.weixin.qq.com/s/C6sihvoTdGelnZFIubituA) - [Spring Boot 2.2 增加了一个新功能,启动飞起](https://mp.weixin.qq.com/s/-9WzbjV8fT5TcjeePaagJg) - [Spring Boot 注册 Servlet 的三种方法](https://mp.weixin.qq.com/s/oYEybZmxllGVbml1a5BPNw) - [Spring Boot 面试,一个问题就干趴下了!](https://mp.weixin.qq.com/s/bwEUjGpanaepY7YqB0eFFQ) - [Spring Boot 配置文件 bootstrap / application 区别](https://mp.weixin.qq.com/s/cKZe5AY5TMYOLWgRZ9Brpg) - [Spring Boot 支持 HTTPS](https://mp.weixin.qq.com/s/JAFBb7Wf34b2TM4F7ZoloQ) - [Spring Boot 返回 JSON 数据](https://mp.weixin.qq.com/s/cFztjzQttMwBQJqAowUZ2A) - [Spring Boot 返回 XML 数据](https://mp.weixin.qq.com/s/hQNRuNFmx8hDymYuSvKACA) - [Spring Boot 发邮件教程](https://mp.weixin.qq.com/s/JclkM4weUxQrMMZi33GFSA) - [Spring Boot YML 掀翻 Properties](https://mp.weixin.qq.com/s/jCvtSI46tqYGipfldHcUvQ) - [Spring Boot 1.x 正式退役,2.x大步向前](https://mp.weixin.qq.com/s/EXPNMLpwMeDueCmfiHSSew) - [Spring Boot 2.x 新特性总结及迁移指南](https://mp.weixin.qq.com/s/-WWBvWpD0Prib02XoU1sjw) ... 以上仅为部分教程,太多了,这里不能全部展示,这里仅不定期更新维护示例代码。 R哥博客同步更新:https://www.javastack.cn 更多教程请在Java技术栈(id: javastack)公众号回复:boot,获取我整理的最全、最新的 Spring Boot 教程,微信公众号阅读更全、更及时!

## :tada: Spring Boot 3 最新书籍 ![](http://img.javastack.cn/20230422150251.png) ### 写作背景 Spring Boot 至今已经发展了近十年,最新的版本也已经发布到了 3.x,**其底层实现逻辑、使用方式已经发生了翻天覆地的变化**,同时在 Spring Boot 各个版本接二连三地停止维护的状况下,大部分版本已经不能满足技术更新的需要了。 虽然R哥熟练掌握了 Spring Boot 框架,但在其不断地发展下,**某些知识点更新了也会浑然不知**,直到在使用出错时才后知后觉,非常影响工作效率。 **市面上很多书籍、博客都是基于 Spring Boot 低版本的应用,即使有最新的 Spring Boot 技术,也都是四处零乱**,并没有对最新的技术要点进行系统地梳理、解读及应用,如果还继续学习低版本的应用,就会给很多初学者带来没有必要的知识更新的成本,也会走很多弯路。 > 鉴于以上种种原因,以及市面上关于 Spring Boot 3.x 的系统性学习资料比较匮乏,故R哥撰写《**Spring Boot 3 核心技术与最佳实践**》一书以补空白,帮助国内 Java 开发者能够正确的学习、理解和使用最新的 Spring Boot 技术。 如上面的教程所示,R哥从 2017 年开始,陆续写了一些 Spring Boot 框架的博客教程,**本以为出版此书会相当顺利,结果远没有想象中那么简单。** 写博客没有什么太重的思想负担,所以写得比较随意、零乱,也不成体系,而要出版成体系的书籍还相差甚远,而且博客部分内容已经过时,所以仅能作为一个基石。 为了写成此书,R哥又花费了近一年的巨量时间,以**Spring Boot 3.0 里程碑版本**作为出发点,在其基础上再进行深度打磨、加强和完善,**并新增了 90% 以上的新内容,正式版本发布后再核对修正**,最后形成了本书的大纲和学习体系。 ### 本书目录 本书一共为 12 章,这是一个由浅入深、循序渐进的学习过程。 **第 1 章为 Spring Boot 基础入门**,主要介绍 Spring Boot 的基础知识,包括背景、介绍、核心特性、核心模块、核心思想、版本选择,以及 Maven、Spring Boot CLI 等相关工具使用,还会带来简单的应用案例。 **第 2 章为 Spring Boot 配置管理**,主要介绍 Spring Boot 应用中的各种配置技巧,包括配置类、配置文件、外部化配置、配置绑定、随机配置、导入配置、多文档配置、Profiles 配置、加载机制、配置加密、配置迁移,有助于后续章节的的学习融会贯通。 **第 3 章为 Spring Boot Starters 与自动配置**,主要介绍 Spring Boot Starter 的全方面介绍和应用,包括命名规范、分类、自动配置原理及扩展机制,还会带来邮件 Starter 的介绍和应用,以及如何自定义一个 Spring Boot Starter。 **第 4 章为 Spring Boot 启动过程与扩展应用**,主要介绍 Spring Boot 的启动过程,包括引导方式、启动入口方法、启动流程源码分析,以及启动过程中的丰富的扩展应用,包括启动日志、启动图案、启动失败分析、启动事件和监听器、全局懒加载、启动运行器等等。 **第 5 章为 Spring Boot 日志管理**,主要介绍 Spring Boot 日志的使用,包括日志格式、日志文件、日志级别、日志分组、日志归档、自定义日志配置文件、切换日志框架、输出彩色日志等等。 **第 6 章为 Spring Boot Web 核心应用**,这是 Spring Boot 项目最基本最核心的部分,包括嵌入式容器、Web 组件的注册、静态资源处理、模板引擎、异常处理、参数效验、国际化、跨域、分布式会话、安全性、REST 服务调用等常用的 Web 技术的原理介绍、集成与应用。 **第 7 章为 Spring Boot 数据访问**,主要介绍 Spring Boot 与关系、NoSQL数据库的集成应用,包括数据源、连接池、事务管理、Spring Data JPA、MyBatis、MyBatis-Plus、Redis、MongoDB、Elasticsearch 的原理介绍、集成与应用。 **第 8 章为 Spring Boot 计划任务**,主要介绍划计划任务在 Spring Boot 中的应用,包括 Spring 中的计划任务和 Quartz 计划任务的原理介绍、集成与应用。 **第 9 章为 Spring Boot 缓存与消息队列**,主要介绍缓存和消息队列在 Spring Boot 的应用,缓存原理机制介绍及 Redis 缓存的实现与集成,消息队列原理介绍及 ActiveMQ、RabbitMQ、Kafka 的原理介绍、集成与应用。 **第 10 章为 Spring Boot 调试与单元测试**,主要介绍 Spring Boot 应用的调试方法、开发者工具的详细介绍与使用,以及如何在 Spring Boot 应用中做单元测试。 **第 11 章为 Spring Boot 打包与部署**,主要介绍 Spring Boot 应用的打包方式,以及如何将 Spring Boot 应用包以不同的方式运行、以不同的方式部署到 Linux 和 Docker 容器等,包括 Spring Boot 3.0 支持的构建 GraalVM 原生镜像应用方式。 **第 12 章为 Spring Boot 监控与报警**,主要介绍 Spring Boot Actuator 监控模块的详细介绍和使用,包括端点、指标,以及 Spring Boot 3.0 支持的可观测性技术的介绍与应用,还包括第三方监控平台 Spring Boot Admin、Prometheus + Grafana 的集成与应用。 ### 预览购买 ![](http://img.javastack.cn/20230422102612.jpg)