Spring实战 第5版

作者
克雷格·沃斯(Craig Walls)
丛书名
出版社
人民邮电出版社
ISBN
9787115527929
简要
简介
内容简介书籍计算机书籍 本书是一本经典而实用的畅销Spring 学习指南。 第5 版涵盖了Spring 5.0 和Spring Boot 2.0 里程碑式的更新。全书分为5 个部分,共19 章。第1 部分(第1~5 章)涵盖了构建Spring 应用的基础话题。第2 部分(第6~9章)讨论如何将Spring 应用与其他应用进行集成。第3 部分(第10~12 章)探讨Spring对反应式编程提供的全新支持。第4 部分(第13~15 章)拆分单体应用模型,介绍SpringCloud 和微服务开发。第5 部分(第16~19 章)讨论如何为应用投入生产环境做准备以及如何进行部署。 本书既适合刚开始学习Spring Boot 和Spring 框架的Java 开发人员快速上手,也适合经验丰富的Spring 开发人员学习Spring 的新特性,尤其适用于企业级Java 开发人员。
目录
第 1 部分 Spring 基础


第 1 章 Spring 起步 3


1.1 什么是Spring 4


1.2 初始化Spring 应用 6


1.2.1 使用Spring Tool Suite


初始化Spring 项目 7


1.2.2 检查Spring 项目的


结构 10


1.3 编写Spring 应用 16


1.3.1 处理Web 请求 16


1.3.2 定义视图 17


1.3.3 测试控制器 18


1.3.4 构建和运行应用 20


1.3.5 了解Spring Boot DevTools 21


1.3.6 回顾一下 23


1.4 俯瞰Spring 风景线 24


1.4.1 Spring 核心框架 24


1.4.2 Spring Boot 25


1.4.3 Spring Data 25


1.4.4 Spring Security 25


1.4.5 Spring Integration 和Spring


Batch 26


1.4.6 Spring Cloud 26


1.5 小结 26


第 2 章 开发Web 应用 27


2.1 展现信息 27


2.1.1 构建领域类 28


2.1.2 创建控制器类 30


2.1.3 设计视图 33


2.2 处理表单提交 37


2.3 校验表单输入 43


2.3.1 声明校验规则 43


2.3.2 在表单绑定的时候执行


校验 45


2.3.3 展现校验错误 46


2.4 使用视图控制器 48


2.5 选择视图模板库 49


2.6 小结 52


第3 章 使用数据 53


3.1 使用JDBC 读取和写入


数据 53


3.1.1 调整领域对象以适应


持久化 55


3.1.2 使用JdbcTemplate 56


3.1.3 定义模式和预加载数据 61


3.1.4 插入数据 63


3.2 使用Spring Data JPA 持久


化数据 72


3.2.1 添加Spring Data JPA 到


项目中 72


3.2.2 将领域对象标注为实体 73


3.2.3 声明JPA repository 76


3.2.4 自定义JPA repository 77


3.3 小结 80


第4 章 保护Spring 81


4.1 启用Spring Security 81


4.2 配置Spring Security 83


4.2.1 基于内存的用户存储 85


4.2.2 基于JDBC 的用户存储 86


4.2.3 以LDAP 作为后端的


用户存储 89


4.2.4 自定义用户认证 92


4.3 保护Web 请求 100


4.3.1 保护请求 100


4.3.2 创建自定义的登录页 103


4.3.3 退出 105


4.3.4 防止跨站请求伪造 106


4.4 了解用户是谁 107


4.5 小结 109


第5 章 使用配置属性 111


5.1 细粒度的自动配置 112


5.1.1 理解Spring 的环境抽象 112


5.1.2 配置数据源 114


5.1.3 配置嵌入式服务器 115


5.1.4 配置日志 116


5.1.5 使用特定的属性值 118


5.2 创建自己的配置属性 118


5.2.1 定义配置属性的持有者 120


5.2.2 声明配置属性元数据 123


5.3 使用profile 进行配置 125


5.3.1 定义特定profile 的属性 126


5.3.2 激活profile 127


5.3.3 使用profile 条件化地创建


bean 128


5.4 小结 129


第2部分 Spring 集成


第6 章 创建REST 服务 133


6.1 编写RESTful 控制器 134


6.1.1 从服务器中检索数据 136


6.1.2 发送数据到服务器端 140


6.1.3 在服务器上更新数据 142


6.1.4 删除服务器上的数据 144


6.2 启用超媒体 145


6.2.1 添加超链接 147


6.2.2 创建资源装配器 149


6.2.3 命名嵌套式的关联关系 154


6.3 启用数据后端服务 155


6.3.1 调整资源路径和关系


名称 157


6.3.2 分页和排序 159


6.3.3 添加自定义的端点 160


6.3.4 为Spring Data 端点添加


自定义的超链接 162


6.4 小结 163


第7 章 消费REST 服务 165


7.1 使用RestTemplate 消费


REST 端点 166


7.1.1 GET 资源 167


7.1.2 PUT 资源 169


7.1.3 DELETE 资源 169


7.1.4 POST 资源 169


7.2 使用Traverson 导航


REST API 170


7.3 小结 172


第8 章 发送异步消息 173


8.1 使用JMS 发送消息 174


8.1.1 搭建JMS 环境 174


8.1.2 使用JmsTemplate 发送


消息 176


8.1.3 接收JMS 消息 183


8.2 使用RabbitMQ 和


AMQP 186


8.2.1 添加RabbitMQ 到


Spring 中 188


8.2.2 通过RabbitTemplate 发送


消息 189


8.2.3 接收来自RabbitMQ 的


消息 192


8.3 使用Kafka 的消息 196


8.3.1 为Spring 搭建支持Kafka


消息的环境 197


8.3.2 通过KafkaTemplate 发送


消息 198


8.3.3 编写Kafka 监听器 200


8.4 小结 201


第9 章 Spring 集成 203


9.1 声明一个简单的


集成流 204


9.1.1 使用XML 定义集成流 205


9.1.2 使用Java 配置集成流 207


9.1.3 使用Spring Integration 的


DSL 配置 209


9.2 Spring Integration 功能


概览 210


9.2.1 消息通道 211


9.2.2 过滤器 212


9.2.3 转换器 213


9.2.4 路由器 214


9.2.5 切分器 216


9.2.6 服务激活器 218


9.2.7 网关 220


9.2.8 通道适配器 221


9.2.9 端点模块 223


9.3 创建Email 集成流 224


9.4 小结 229


第3部分 反应式Spring


第 10 章 理解反应式编程 233


10.1 反应式编程概览 234


10.2 初识Reactor 237


10.2.1 绘制反应式流图 238


10.2.2 添加Reactor 依赖 239


10.3 使用常见的反应式


操作 240


10.3.1 创建反应式类型 240


10.3.2 组合反应式类型 244


10.3.3 转换和过滤反应式流 248


10.3.4 在反应式类型上执行逻辑


操作 258


10.4 小结 259


第 11 章 开发反应式API 261


11.1 使用Spring WebFlux 261


11.1.1 Spring WebFlux 简介 262


11.1.2 编写反应式控制器 264


11.2 定义函数式请求处


理器 268


11.3 测试反应式控制器 271


11.3.1 测试GET 请求 271


11.3.2 测试POST 请求 274


11.3.3 使用实时服务器进行


测试 275


11.4 反应式消费


REST API 276


11.4.1 获取资源 277


11.4.2 发送资源 279


11.4.3 删除资源 280


11.4.4 处理错误 280


11.4.5 交换请求 282


11.5 保护反应式Web API 283


11.5.1 配置反应式Web 应用的


安全性 284


11.5.2 配置反应式的用户详情


服务 285


11.6 小结 287


第 12 章 反应式持久化数据 289


12.1 理解Spring Data 的


反应式概况 290


12.1.1 Spring Data 反应式本


质论 290


12.1.2 反应式和非反应式类型


之间的转换 291


12.1.3 开发反应式repository 292


12.2 使用反应式的


Cassandra repository 293


12.2.1 启用Spring Data


Cassandra 293


12.2.2 理解Cassandra 的数据


模型 296


12.2.3 将领域对象映射为Cassandra


持久化 296


12.2.4 编写反应式


Cassandra repository 301


12.3 编写反应式的


MongoDB repository 304


12.3.1 启用Spring Data


MongoDB 304


12.3.2 将领域对象映射为


文档 306


12.3.3 编写反应式的MongoDB


repository 接口 309


12.4 小结 312


第4 部分 云原生Spring


第 13 章 注册和发现服务 315


13.1 思考微服务 316


13.2 搭建服务注册中心 318


13.2.1 配置Eureka 321


13.2.2 扩展Eureka 324


13.3 注册和发现服务 325


13.3.1 配置Eureka 客户端


属性 326


13.3.2 消费服务 328


13.4 小结 332


第 14 章 管理配置 333


14.1 共享配置 334


14.2 运行配置服务器 335


14.2.1 启用配置服务器 336


14.2.2 填充配置仓库 339


14.3 消费共享配置 341


14.4 提供特定应用和profile 的


属性 343


14.4.1 提供特定应用的属性 343


14.4.2 提供来自profile 的


属性 344


14.5 保持配置属性的


私密性 346


14.5.1 在Git 中加密属性 346


14.5.2 在Vault 中存储私密


信息 349


14.6 在运行时刷新配置


属性 353


14.6.1 手动刷新配置属性 354


14.6.2 自动刷新配置属性 356


14.7 小结 363


第 15 章 处理失败和延迟 365


15.1 理解断路器模式 365


15.2 声明断路器 367


15.2.1 缓解延迟 369


15.2.2 管理断路器的阈值 371


15.3 监控失败 372


15.3.1 Hystrix dashboard


简介 373


15.3.2 理解Hystrix 的线程


模型 375


15.4 聚合多个Hystrix 流 377


15.5 小结 378


第5 部分 部署Spring


第 16 章 使用Spring Boot


Actuator 381


16.1 Actuator 概览 382


16.1.1 配置Actuator 的基础


路径 383


16.1.2 启用和禁用Actuator


端点 383


16.2 消费Actuator 端点 384


16.2.1 获取应用的基础信息 385


16.2.2 查看配置细节 388


16.2.3 查看应用的活动 396


16.2.4 获取应用的指标 398


16.3 自定义Actuator 401


16.3.1 为“/info”端点提供信息 401


16.3.2 实现自定义的健康


指示器 405


16.3.3 注册自定义的指标 407


16.3.4 创建自定义的端点 408


16.4 保护Actuator 411


16.5 小结 413


第 17 章 管理Spring 415


17.1 使用Spring Boot


Admin 415


17.1.1 创建Admin 服务器 416


17.1.2 注册Admin 客户端 418


17.2 探索Admin 服务器 421


17.2.1 查看应用基本的健康状况


和信息 421


17.2.2 观察核心指标 423


17.2.3 探查环境属性 424


17.2.4 查看和设置日志


级别 424


17.2.5 监控线程 425


17.2.6 跟踪HTTP 请求 426


17.3 保护Admin 服务器 428


17.3.1 为Admin 服务器启用登录


功能 428


17.3.2 为Actuator 启用认证 429


17.4 小结 429


第 18 章 使用JMX 监控


Spring 431


18.1 使用Actuator MBean 431


18.2 创建自己的MBean 434


18.3 发送通知 436


18.4 小结 437


第 19 章 部署Spring 439


19.1 权衡各种部署方案 440


19.2 构建和部署WAR


文件 441


19.3 推送JAR 文件到Cloud


Foundry 上 443


19.4 在Docker 容器中运行


Spring Boot 445


19.5 以终为始 449


19.6 小结 449


附录 初始化Spring 应用 451


A.1 使用Spring Tool Suite


初始化项目 451


A.2 使用IntelliJ IDEA 初始化


项目 454


A.3 使用NetBeans 初始化


项目 457


A.4 在start.spring.io 中初始化


项目 459


A.5 使用命令行初始化


项目 462


A.5.1 curl 和Initializr API 462


A.5.2 Spring Boot 命令行


接口 464


A.6 使用元框架创建Spring


应用 465


A.7 构建和运行项目 465



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4