Github 霸榜的 SpringBoot 全套学习教程,从入门到实战,内容超详细!
前言
本篇从 Spring Boot 的特性与基本原理讲起,逐步深入到 Spring Boot 与其他微服务开发组件的集成使用,并在最后配合实际的项目案例,重点讲解 Spring Boot 的微服务开发,能够让读者全面、系统地学习 Spring Boot 开发的相关知识,并且对微服务应用开发有更深入的理解。
本篇共 12 章,涵盖的主要内容有:
Spring Boot 框架基础及 IoC 与 AOP 原理;
Spring MVC 基础知识;
Spring Boot 的搭建与配置;
Spring Boot 的数据访问,包括 MySQL、Redis 和 MongoDB 等多种数据库的集成;
配置中心与服务发现,重点讲解 Nacos 等组件;
服务限流与降级,重点讲解 Sentinel 组件的搭建与配置;
全链路追踪系统;
微服务监控,讲解 Spring Boot Actuator 等工具的使用;
API 网关,重点介绍 Spring Cloud 网关提供的相关断言配置;
Spring Boot 测试与部署;
Spring Boot 微服务开发和 Spring WebFlux 实战开发,全面展示微服务的开发过程。

老规矩,直接上目录
第 1 章 Spring 框架基础 1
1.1 Spring 简介 1
1.1.1 Spring 的发展历史 1
1.1.2 Spring 的特性 2
1.1.3 Spring 的体系结构 3
1.2 控制反转 6
1.2.1 IoC 和 DI 简介 6
1.2.2 元数据配置 7
1.2.3 Bean 管理 12
1.3 面向切面编程 14
1.3.1 代理模式 14
1.3.2 AOP 中的术语 18
1.3.3 @AspectJ 注解 20
1.3.4 基于 XML 配置的 AOP 21
1.3.5 基于 @Aspect 注解的 AOP 23
1.4 总结 25
第 2 章 Spring MVC 基础 26
2.1 Spring MVC 简介 26
2.1.1 Spring MVC 的工作流程 26
2.1.2 DispatcherServlet 类 27
2.1.3 HandlerInterceptor 拦截器 29
2.2 Spring MVC 注解 30
2.2.1 请求注解 30
2.2.2 参数注解 31
2.2.3 异常注解 32
2.2.4 跨域注解 32
2.2.5 请求跳转 33
2.3 总结 34
第 3 章 Spring Boot 基础 35
3.1 Spring Boot 简介 35
3.1.1 Spring Boot 的特性 35
3.1.2 快速创建 Spring Boot 应用 36
3.1.3 Spring Boot Starter 简介 37
3.2 Spring Boot 的运行原理 40
3.2.1 SpringApplication 启动类 40
3.2.2 @SpringBootApplication 注解 44
3.3 Spring Boot 的配置文件 45
3.3.1 默认配置文件 45
3.3.2 多环境配置 46
3.3.3 配置注解 46
3.4 测试与部署 48
3.4.1 测试 48
3.4.2 打包 49
3.5 总结 50
第 4 章 Spring Boot 之数据访问 51
4.1 访问 SQL 数据库 51
4.1.1 JdbcTemplate 模板类 51
4.1.2 Spring Data JPA 组件 56
4.1.3 Spring Boot 集成 MyBatis 59
4.2 访问 NoSQL 数据库 61
4.2.1 访问 Redis 61
4.2.2 访问 MongoDB 63
4.3 Caching 缓存 64
4.3.1 访问 EhCache 64
4.3.2 访问 Couchbase 65
4.4 远程调用 66
4.4.1 调用 RestTemplate 66
4.4.2 调用 WebClient 67
4.5 总结 69
第 5 章 配置中心与服务发现 70
5.1 配置中心组件 70
5.2 服务注册与发现 81
5.3 Nacos 组件 84
5.4 总结 91
第 6 章 服务限流与降级 92
6.1 限流 92
6.2 Hystrix 组件 95
6.3 Sentinel 组件 99
6.4 Nacos 集成 Sentinel 配置 108
6.5 总结 109
第 7 章 全链路追踪系统 110
7.1 全链路追踪系统简介 110
7.2 开源的全链路追踪系统 113
7.3 全链路追踪系统实践 117
7.4 总结 120
第 8 章 微服务监控管理 121
8.1 Spring Boot Actuator 组件 121
8.2 Micrometer 工具 124
8.3 Prometheus 工具 127
8.4 Grafana 工具 132
8.5 总结 136
第 9 章 Spring Cloud 网关 137
9.1 API 网关 137
9.2 核心配置 139
9.3 总结 148
第 10 章 Spring Boot 测试与部署 149
10.1 Spring Boot 测试 149
10.2 Spring Boot 部署 155
10.3 总结 156
第 11 章 Spring Boot 微服务开发实例 157
11.1 项目描述 157
11.2 数据结构 158
11.3 项目开发 160
11.4 总结 185
第 12 章 Reactive Web 开发实战 186
12.1 Reactive 编程 186
12.2 Spring WebFlux 框架 192
12.3 Spring WebFlux 实战 197
12.4 总结 210
第 1 章 Spring 框架基础
本章介绍了 Java 编程领域优秀的开源框架 Spring,从 Spring 的发展历史及特点讲起,重点讲解了两大核心概念 IoC 与 AOP 的原理及 Bean 的组装过程。其实,整个 Spring 框架是围绕 IoC 与 AOP 两大核心概念展开的,并逐渐发展成了一个庞大的家族。
在了解了 Spring Framework 的基础知识后,后续将开始讲解 Spring 家族中的其他优秀框架,如 Spring Boot、Spring MVC 和 Spring WebFlux 等,并会对 Spring 如何集成第三方工具包进行介绍。

第 2 章 Spring MVC 基础
本章主要讲解了 Spring MVC 框架的相关知识,并通过示例展示了 Spring MVC 的处理流程。Spring MVC 框架是构建在 Servlet 之上的,通过简单的配置与注解,可以帮助开发者快速搭建一个后台服务端应用。
Spring MVC 还为开发者提供了拦截器和视图解决方案等特性,提高了请求处理的效率。

第 3 章 Spring Boot 基础
本章主要介绍了 Spring Boot 的特性、核心原理及配置文件等内容。Spring Boot 因为其配置简单、开箱即用的特点,迅速风靡各大互联网公司。
随着微服务、云平台等概念的提出,Spring Boot 的这种架构开发方式会和实际开发场景越来越契合。Spring Boot 是目前主流的企业级应用开发框架,作为 Java 开发人员,必须要掌握这个框架。
后面的章节中会继续讲解 Spring Boot 与其他第三方工具的集成使用,带领读者感受 Spring Boot 的便捷性与易用性。

第 4 章 Spring Boot 之数据访问
本章主要介绍了 Spring Boot 如何集成数据库,以及与服务调用有关的知识。不管是关系型数据库还是非关系型数据库或缓存数据库,都在 Java 应用系统中有着广泛的应用。
Spring Boot 作为流行的开发框架,对数据库的操作进行了整合,规范了数据库的连接等操作。开发人员通过 Spring Boot 提供的各种 XXXTemplate 模板类,便可直接使用默认方法完成大部分的增、删、改、查等基本操作,让开发工作更加方便和高效。

第 5 章 配置中心与服务发现
本章主要介绍了微服务开发过程中所需要的配置中心组件与服务发现组件。关于配置中心组件,主要介绍了 XXL-CONF、Apollo 和 Spring Cloud Config 等组件的相关特性,并且给出了这些组件与 Spring Boot 结合的示例。关于服务发现组件,主要介绍了 Eureka 和 Consul 等组件的使用方法。
本章最后重点讲解了阿里巴巴集团的 Nacos 开源组件,它集成了配置中心、服务注册和服务发现等功能,同时给出了集成 Spring Boot 与 Spring Cloud 的示例。

第 6 章 服务限流与降级
本章主要介绍了微服务开发过程中所需要的限流和降级等中间件。首先介绍了限流通用的一些算法,如漏桶算法、令牌桶算法、滑动窗口算法,以及各个算法之间的区别。
然后结合示例介绍了熔断的开源组件 Hystrix 的原理。最后重点介绍了阿里巴巴的开源组件——Sentinel,它集成了控制台管理页面,可以设置各种限流规则和熔断规则,选取不同的策略进行限流与熔断,如 QPS 和并发数等,并且能够与 Nacos 集成将相关的规则持久化。

第 7 章 全链路追踪系统
本章主要介绍了微服务框架中的全链路追踪系统,以及一些开源组件的原理与示例。
全链路追踪系统可以作为服务的监控系统,追踪信息能帮助开发者快速定位故障,辅助优化系统性能,是分布式系统中不可缺少的一个中间件。
国内很多公司也开源了调用链追踪系统,如大众点评的 CAT、阿里巴巴集团的鹰眼及京东的 CallGraph 等,其架构原理相近。

第 8 章 微服务监控管理
本章主要介绍了 Spring Boot Actuator 提供的 Endpoints,然后引出了 Micrometer 概念,同时介绍了 Prometheus 监控系统,通过 Metrics 将 Prometheus 监控系统整合到 Grafana 中,然后配置仪表盘指标,并搭建了一个业务指标的监控系统,使应用系统更加健壮。

第 9 章 Spring Cloud 网关
本章主要讲解了 Spring Cloud 网关作为 API 网关的原理与使用方法。Spring Cloud 网关作为 Spring 生态的主要部分,为微服务架构提供了 API 路由管理和统一的入口环境,使微服务接口管理更加方便且更容易扩展。

第 10 章 Spring Boot 测试与部署
本章首先介绍了 Spring Boot 测试与核心注解的相关知识,并展示了一些测试用例。作为开发的一部分,测试也同样重要,因此开发者应该重视测试用例的编写。

第 11 章 Spring Boot 微服务开发实例
本章通过一个项目实例,展示了用 Spring Boot 框架进行开发时从后台管理接口到微服务开发的整个过程。通过本章的学习,可以让 Spring Boot 的入门者比较全面地了解微服务开发的细节。

第 12 章 Reactive Web 开发实战
从 Spring 5 框架以后,Spring 官方推出了 Spring WebFlux 响应式编程框架,该框架提供了全新的接口开发方式。本章通过改造一个促销活动微服务框架,展示了 Spring WebFlux 开发中的细节,新入门的开发者可以亲自动手实践一下。

由于篇幅限制就不把全部内容展示出来了,

注:篇幅有限,资料已整理成文档,查看下方名片来进行获取!

评论