《Spring Boot从入门到实战》从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;Spring Cloud Gateway提供了API网关相关断言;Spring Boot测试与部署;Spring Boot微服务开发和Spring WebFlux实战开发,全面的展示了微服务开发过程。
本书内容通俗易懂,案例丰富,实用性强,特别适合Spring Boot入门读者和进阶读者阅读,也适合从事JAVA微服务开发的程序员或其他编程爱好者阅读。另外,本书也适合作为相关培训机构的教材使用。
封面图
目录
- 前言
- 第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配置的AOP21
- 1.3.5 基于@Aspect注解的AOP23
- 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集成MyBatis59
- 4.2 访问NoSQL数据库61
- 4.2.1 访问Redis61
- 4.2.2 访问MongoDB63
- 4.3 Caching缓存64
- 4.3.1 访问EhCache64
- 4.3.2 访问Couchbase65
- 4.4 远程调用66
- 4.4.1 调用RestTemplate66
- 4.4.2 调用WebClient67
- 4.5 总结69
- 第5章 配置中心与服务发现70
- 5.1 配置中心组件70
- 5.1.1 XXL-CONF组件简介70
- 5.1.2 Apollo组件简介75
- 5.1.3 Spring Cloud Config组件简介78
- 5.2 服务注册与发现81
- 5.2.1 Eureka组件简介81
- 5.2.2 Consul组件简介82
- 5.3 Nacos组件84
- 5.3.1 Nacos组件简介84
- 5.3.2 快速搭建Nacos86
- 5.3.3 Spring Boot集成Nacos87
- 5.3.4 Spring Cloud集成Nacos89
- 5.4 总结91
- 第6章 服务限流与降级92
- 6.1 限流92
- 6.1.1 限流的原理92
- 6.1.2 限流示例94
- 6.2 Hystrix组件95
- 6.2.1 Hystrix组件简介95
- 6.2.2 Hystrix原理98
- 6.2.3 Hystrix示例99
- 6.3 Sentinel组件99
- 6.3.1 Sentinel组件简介100
- 6.3.2 Sentinel的原理102
- 6.3.3 快速搭建Sentinel Dashboard103
- 6.3.4 Spring Boot集成Sentinel107
- 6.4 Nacos集成Sentinel配置108
- 6.5 总结109
- 第7章 全链路追踪系统110
- 7.1 全链路追踪系统简介110
- 7.1.1 基本特性110
- 7.1.2 基本概念111
- 7.2 开源的全链路追踪系统113
- 7.2.1 Dapper简介113
- 7.2.2 Zipkin简介114
- 7.2.3 Pinpoint简介114
- 7.2.4 Skywalking简介115
- 7.2.5 开源的全链路追踪系统比较116
- 7.3 全链路追踪系统实践117
- 7.3.1 Zipkin实践117
- 7.3.2 Skywalking实践119
- 7.4 总结120
- 第8章 微服务监控管理121
- 8.1 Spring Boot Actuator组件121
- 8.1.1 Endpoints组件简介121
- 8.1.2 自定义端点123
- 8.2 Micrometer工具124
- 8.2.1 Micrometer工具简介124
- 8.2.2 Spring Boot集成126
- 8.3 Prometheus工具127
- 8.3.1 Prometheus工具简介127
- 8.3.2 快速搭建Prometheus129
- 8.4 Grafana工具132
- 8.4.1 Grafana的安装132
- 8.4.2 Grafana集成Prometheus133
- 8.5 总结136
- 第9章 Spring Cloud网关137
- 9.1 API网关137
- 9.1.1 网关简介137
- 9.1.2 网关示例139
- 9.2 核心配置139
- 9.2.1 Route Predicate配置140
- 9.2.2 GatewayFilter配置143
- 9.2.3 全局配置147
- 9.3 总结148
- 第10章 Spring Boot测试与部署149
- 10.1 Spring Boot测试149
- 10.1.1 Spring Boot测试简介149
- 10.1.2 核心注解150
- 10.2 Spring Boot部署155
- 10.2.1 JAR包部署155
- 10.2.2 Docker部署156
- 10.3 总结156
- 第11章 Spring Boot微服务开发实例157
- 11.1 项目描述157
- 11.1.1 项目需求157
- 11.1.2 需求分析158
- 11.2 数据结构158
- 11.2.1 MySQL数据结构158
- 11.2.2 Redis数据结构159
- 11.3 项目开发160
- 11.3.1 后台接口管理项目160
- 11.3.2 促销活动微服务项目177
- 11.3.3 网关项目182
- 11.3.4 项目部署185
- 11.4 总结185
- 第12章 Reactive Web开发实战186
- 12.1 Reactive编程186
- 12.1.1 响应式宣言186
- 12.1.2 Reactive编程简介187
- 12.1.3 Reactive Streams标准187
- 12.1.4 Java Flow API简介188
- 12.2 Spring WebFlux框架192
- 12.2.1 Spring WebFlux简介192
- 12.2.2 Mono类193
- 12.2.3 Flux类194
- 12.2.4 Spring WebFlux示例196
- 12.3 Spring WebFlux实战197
- 12.4 总结210