作者 |
解承凯 |
丛书名 |
出版社 |
机械工业出版社 |
ISBN |
9787111686552 |
简要 |
简介 |
内容简介书籍计算机书籍 本书从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配置的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.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 快速搭建Nacos 86 5.3.3 Spring Boot集成Nacos 87 5.3.4 Spring Cloud集成Nacos 89 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 Dashboard 103 6.3.4 Spring Boot集成Sentinel 107 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 快速搭建Prometheus 129 8.4 Grafana工具 132 8.4.1 Grafana的安装 132 8.4.2 Grafana集成Prometheus 133 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 |