-
内容大纲
本书是使用Spring进行Java Web开发的指导手册,介绍了Spring Framework的演变——从解决可测试应用程序的问题到在云端构建分布式应用程序。本书介绍了Spring 5.0的新增功能,讲解如何使用Spring MVC构建应用程序,然后全面阐释如何使用Spring Framework构建并扩展微服务,以及如何开发和部署云应用程序。读者会了解应用程序架构的进化过程——从单体架构到围绕微服务构建的架构。此外,本书还介绍了Spring Boot的高级功能,并通过强大的示例演示这些功能。学完本书之后,读者将掌握使用Spring Framework开发应用程序的相关知识和实践策略。
本书适合经验丰富的Java开发者阅读。 -
作者介绍
-
目录
第1章 向Spring Framework 5.0进化
1.1 Spring Framework
1.2 Spring Framework为什么流行
1.2.1 简化了单元测试
1.2.2 减少了衔接代码
1.2.3 架构灵活性
1.2.4 与时俱进
1.3 Spring模块
1.3.1 Spring核心容器
1.3.2 横切关注点
1.3.3 Web层
1.3.4 业务层
1.3.5 数据层
1.4 Spring项目
1.4.1 Spring Boot
1.4.2 Spring Cloud
1.4.3 Spring Data
1.4.4 Spring Batch
1.4.5 Spring Security
1.4.6 Spring HATEOAS
1.5 Spring Framework 5.0中的新增功能
1.5.1 基准升级
1.5.2 JDK 9运行时兼容性
1.5.3 在Spring Framework代码中使用JDK 8功能
1.5.4 反应式编程支持
1.5.5 函数式Web框架
1.5.6 Java通过Jigsaw实现模块化
1.5.7 Kotlin支持
1.5.8 已停用的功能
1.6 Spring Boot 2.0的新增功能
1.7 小结
第2章 依赖注入
2.1 了解依赖注入
2.1.1 了解依赖项
2.1.2 Spring IoC容器
2.1.3 使用模拟对象进行单元测试
2.1.4 容器托管bean
2.1.5 依赖注入类型
2.1.6 Spring bean作用域
2.1.7 Java与XML配置
2.1.8 @Autowired 注解详解
2.1.9 其他重要的Spring注解
2.1.10 上下文和依赖注入
2.2 小结
第3章 使用Spring MVC 构建Web应用程序
3.1 Java Web应用程序架构
3.1.1 Model 1架构
3.1.2 Model 2架构
3.1.3 Model 2前端控制器架构
3.2 基本流
3.2.1 基本设置
3.2.2 流1——不包含视图的简单控制器流
3.2.3 流2——包含视图的简单控制器流
3.2.4 流3——控制器通过模型重定向到视图
3.2.5 流4——控制器通过ModelAndView重定向到视图
3.2.6 流5——重定向到包含表单的视图的控制器
3.2.7 流6——在上一个流中添加验证功能
3.3 Spring MVC概述
3.3.1 重要特性
3.3.2 工作机制
3.4 Spring MVC背后的重要概念
3.4.1 RequestMapping
3.4.2 视图解析
3.4.3 处理程序映射和拦截器
3.4.4 模型属性
3.4.5 会话属性
3.4.6 @InitBinder注解
3.4.7 @ControllerAdvice注解
3.5 Spring MVC——高级功能
3.5.1 异常处理
3.5.2 国际化
3.5.3 对Spring 控制器进行集成测试
3.5.4 提供静态资源
3.5.5 集成Spring MVC与Bootstrap
3.6 Spring Security
3.6.1 添加Spring Security依赖项
3.6.2 配置过滤器以拦截所有请求
3.6.3 注销
3.7 小结
第4章 向微服务和云原生应用程序进化
4.1 使用Spring的典型Web应用程序架构
4.1.1 Web层
4.1.2 业务层
4.1.3 数据层
4.1.4 集成层
4.1.5 横切关注点
4.2 Spring解决的问题
4.2.1 松散耦合和可测试性
4.2.2 衔接代码
4.2.3 轻量级架构
4.2.4 架构灵活性
4.2.5 简化横切关注点的实现过程
4.2.6 免费的设计模式
4.3 应用程序开发目标
4.3.1 速度
4.3.2 安全保障
4.3.3 可扩展性
4.4 单体应用面临的挑战
4.4.1 漫长的发布周期
4.4.2 难以扩展
4.4.3 适应新技术
4.4.4 适应新方法
4.4.5 适应现代化开发实践
4.5 了解微服务
4.5.1 什么是微服务
4.5.2 微服务架构
4.5.3 微服务的特点
4.5.4 微服务的优势
4.5.5 微服务面临的挑战
4.6 云原生应用程序
4.7 Spring项目
4.7.1 Spring Boot
4.7.2 Spring Cloud
4.8 小结
第5章 使用Spring Boot构建微服务
5.1 什么是Spring Boot
5.1.1 快速构建微服务器原型
5.1.2 主要目标
5.1.3 非功能性特性
5.2 Spring Boot Hello World
5.2.1 配置spring-boot-starter-parent
5.2.2 用所需的starter项目配置pom.xml
5.2.3 配置spring-boot-maven-plugin
5.2.4 创建第 一个Spring Boot启动类
5.2.5 运行Hello World应用程序 .......
5.2.6 自动配置
5.2.7 starter项目
5.3 什么是REST
5.4 首个REST服务
5.4.1 返回字符串的简单方法
5.4.2 返回对象的简单REST方法
5.4.3 包含路径变量的GET方法
5.5 创建待办事项资源
5.5.1 请求方法、操作和URI
5.5.2 bean和服务
5.5.3 检索待办事项列表
5.5.4 检索特定待办事项的详细信息
5.5.5 添加待办事项
5.6 Spring Initializr
5.7 自动配置概述
5.8 小结
第6章 扩展微服务
6.1 异常处理
6.2 HATEOAS
6.3 验证
6.3.1 对控制器方法启用验证
6.3.2 定义bean验证
6.3.3 验证功能单元测试
6.4 编写REST服务文档
6.5 使用Spring Security确保REST服务的安全
6.5.1 添加Spring Security starter
6.5.2 基本身份验证
6.5.3 OAuth 2身份验证
6.6 国际化
6.7 缓存
6.7.1 spring-boot-startercache
6.7.2 启用缓存
6.7.3 缓存数据
6.7.4 JSR-107缓存注解
6.8 小结
第7章 Spring Boot的高级功能
7.1 配置外部化
7.1.1 通过application.properties自定义框架
7.1.2 application.properties中的自定义属性
7.1.3 配置文件
7.1.4 其他定义应用程序配置值的选项
7.1.5 YAML配置
7.2 嵌入式服务器
7.2.1 切换到Jetty和Undertow
7.2.2 构建WAR文件
7.3 开发者工具
7.4 Spring Boot Actuator
7.4.1 HAL浏览器
7.4.2 配置属性
7.4.3 环境细节
7.4.4 运行状况
7.4.5 映射
7.4.6 bean
7.4.7 度量
7.4.8 自动配置
7.4.9 调试
7.5 部署应用程序到云端
7.6 小结
第8章 Spring Data
8.1 背景信息——数据存储
8.2 Spring Data
8.2.1 Spring Data Commons
8.2.2 Spring Data JPA
8.3 Spring Data Rest
8.3.1 GET方法
8.3.2 POST方法
8.3.3 搜索资源
8.4 大数据
8.5 小结
第9章 Spring Cloud
9.1 Spring Cloud 简介
9.2 演示微服务设置
9.2.1 微服务A
9.2.2 服务消费方
9.3 集中式微服务配置
9.3.1 问题陈述
9.3.2 解决方案
9.3.3 选项
9.3.4 Spring Cloud Config
9.4 Spring Cloud Bus
9.4.1 Spring Cloud Bus需求
9.4.2 使用Spring Cloud Bus传播配置更改
9.4.3 实现
9.5 声明式REST客户端——Feign
9.6 负载均衡
9.7 名称服务器
9.8 名称服务器的工作机制
9.8.1 选项
9.8.2 实现
9.9 API 网关
9.10 分布式跟踪
9.10.1 分布式跟踪选项
9.10.2 实现Spring Cloud Sleuth和Zipkin
9.11 Hystrix——容错
9.12 小结
第10章 Spring Cloud Data Flow
10.1 基于消息的异步通信
10.2 用于异步消息传递的Spring项目
10.2.1 Spring Integration
10.2.2 Spring Cloud Stream
10.2.3 Spring Cloud Data Flow
10.3 Spring Cloud Stream
10.3.1 Spring Cloud Stream架构
10.3.2 事件处理——股票交易示例
10.4 Spring Cloud Data Flow
10.4.1 高级架构
10.4.2 实现Spring Cloud Data Flow
10.4.3 Spring Cloud Data Flow REST API
10.5 Spring Cloud Task
10.6 小结
第11章 反应式编程
11.1 反应式宣言
11.2 反应式用例——股价页面
11.2.1 传统方法
11.2.2 反应式方法
11.2.3 传统与反应式方法比较
11.3 Java反应式编程
11.3.1 反应式流
11.3.2 Reactor
11.3.3 Spring Web Reactive
11.3.4 反应式数据库
11.4 小结
第12章 Spring最佳实践
12.1 Maven标准目录布局
12.2 分层架构
12.3 异常处理
12.3.1 Spring的异常处理方法
12.3.2 推荐的处理方法
12.4 确保简化Spring配置
12.4.1 在ComponentScan中使用basePackageClasses属性
12.4.2 不在架构引用中使用版本号
12.4.3 强制性依赖项首选构造函数注入而不是setter注入
12.5 管理Spring项目的依赖项版本
12.6 单元测试
12.6.1 业务层
12.6.2 Web层
12.6.3 数据层
12.6.4 其他最佳实践
12.7 集成测试
12.7.1 Spring Session
12.7.2 示例
12.8 缓存
12.8.1 添加Spring Boot Starter Cache依赖项
12.8.2 添加缓存注解
12.9 日志记录
12.9.1 Logback
12.9.2 Log4j2
12.9.3 独立于框架的配置
12.10 小结
第13章 在Spring 中使用Kotlin
13.1 Kotlin
13.2 Kotlin与Java
13.2.1 变量和类型推断
13.2.2 变量和不变性
13.2.3 类型系统
13.2.4 函数
13.2.5 数组
13.2.6 集合
13.2.7 未受检异常
13.2.8 数据类
13.3 在Eclipse 中创建Kotlin项目
13.3.1 Kotlin插件
13.3.2 创建Kotlin项目
13.3.3 创建Kotlin类
13.3.4 运行Kotlin类
13.4 使用Kotlin创建Spring Boot项目
13.4.1 依赖项和插件
13.4.2 Spring Boot应用程序类
13.4.3 Spring Boot应用程序测试类
13.5 使用Kotlin实现REST服务
13.5.1 返回字符串的简单方法
13.5.2 返回对象的简单REST方法
13.5.3 包含路径变量的GET方法
13.6 小结
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...