精通Spring:Java Web开发与Spring Boot高级功能

本书特色

[

本书是使用Spring进行Java Web开发的指导手册,介绍了Spring Framework的演变——从解决可测试应用程序的问题到在云端构建分布式应用程序。本书介绍了Spring 5.0的新增功能,讲解如何使用Spring MVC构建应用程序,然后全面阐释如何使用Spring Framework构建并扩展微服务,以及如何开发和部署云应用程序。读者会了解应用程序架构的进化过程——从单体架构到围绕微服务构建的架构。此外,本书还介绍了Spring Boot的高级功能,并通过强大的示例演示这些功能。

]

内容简介

[

本书是使用Spring进行Java Web开发的指导手册,介绍了Spring Framework的演变——从解决可测试应用程序的问题到在云端构建分布式应用程序。本书介绍了Spring 5.0的新增功能,讲解如何使用Spring MVC构建应用程序,然后全面阐释如何使用Spring Framework构建并扩展微服务,以及如何开发和部署云应用程序。读者会了解应用程序架构的进化过程——从单体架构到围绕微服务构建的架构。此外,本书还介绍了Spring Boot的不错功能,并通过强大的示例演示这些功能。

]

作者简介

[

兰加·拉奥·卡拉南(Ranga Rao Karanam) 高级架构师、培训课程讲师,在Java开发方面有15年以上的工作经验。目前在Udemy有约22万名学生,在YouTube有约6万位视频订阅者。他在个人网站in28Minutes提供短小精悍的视频课,教你使用Spring、Spring Boot和Spring Cloud等工具高效开发和部署Java企业级应用程序和微服务。 【译者简介】 石华耀 IT/本地化资深自由翻译,擅长软硬件、网站本地化、各种技术文档翻译,曾参与Microsoft、Lenovo、Oracle、Cisco、ICAAN等企业及组织机构的大型项目。译著包括《IDA Pro权威指南》(及第2版)、《黑客攻防技术宝典:Web实战篇》(及第2版)等。联系邮箱:shy1639@outlook.com。 熊珅 三峡大学2018届硕士研究生,热衷于英语学习与翻译,多次参加英语演讲比赛和英语翻译大赛,并取得一定成绩。

]

目录

第 1章 向Spring Framework 5.0进化 11.1 Spring Framework 11.2 Spring Framework为什么流行 21.2.1 简化了单元测试 21.2.2 减少了衔接代码 31.2.3 架构灵活性 41.2.4 与时俱进 41.3 Spring模块 51.3.1 Spring核心容器 51.3.2 横切关注点 51.3.3 Web层 61.3.4 业务层 61.3.5 数据层 61.4 Spring项目 61.4.1 Spring Boot 71.4.2 Spring Cloud 71.4.3 Spring Data 81.4.4 Spring Batch 81.4.5 Spring Security 81.4.6 Spring HATEOAS 91.5 Spring Framework 5.0中的新增功能 91.5.1 基准升级 101.5.2 JDK 9运行时兼容性 101.5.3 在Spring Framework代码中使用JDK 8功能 111.5.4 反应式编程支持 111.5.5 函数式Web框架 111.5.6 Java通过Jigsaw实现模块化 121.5.7 Kotlin支持 131.5.8 已停用的功能 141.6 Spring Boot 2.0的新增功能 141.7 小结 15第 2章 依赖注入 162.1 了解依赖注入 162.1.1 了解依赖项 172.1.2 Spring IoC容器 192.1.3 使用模拟对象进行单元测试 262.1.4 容器托管bean 282.1.5 依赖注入类型 282.1.6 Spring bean作用域 302.1.7 Java与XML配置 302.1.8 @Autowired 注解详解 312.1.9 其他重要的Spring注解 322.1.10 上下文和依赖注入 322.2 小结 33第3章 使用Spring MVC 构建Web应用程序 343.1 Java Web应用程序架构 343.1.1 Model 1架构 353.1.2 Model 2架构 353.1.3 Model 2前端控制器架构 363.2 基本流 373.2.1 基本设置 383.2.2 流1——不包含视图的简单控制器流 393.2.3 流2——包含视图的简单控制器流 423.2.4 流3——控制器通过模型重定向到视图 453.2.5 流4——控制器通过ModelAndView重定向到视图 473.2.6 流5——重定向到包含表单的视图的控制器 483.2.7 流6——在上一个流中添加验证功能 513.3 Spring MVC概述 543.3.1 重要特性 543.3.2 工作机制 553.4 Spring MVC背后的重要概念 563.4.1 RequestMapping 563.4.2 视图解析 583.4.3 处理程序映射和拦截器 593.4.4 模型属性 613.4.5 会话属性 623.4.6 @InitBinder注解 633.4.7 @ControllerAdvice注解 633.5 Spring MVC——高级功能 643.5.1 异常处理 643.5.2 国际化 663.5.3 对Spring 控制器进行集成测试 683.5.4 提供静态资源 693.5.5 集成Spring MVC与Bootstrap 713.6 Spring Security 723.6.1 添加Spring Security依赖项 733.6.2 配置过滤器以拦截所有请求 733.6.3 注销 743.7 小结 75第4章 向微服务和云原生应用程序进化 764.1 使用Spring的典型Web应用程序架构 774.1.1 Web层 774.1.2 业务层 784.1.3 数据层 784.1.4 集成层 794.1.5 横切关注点 794.2 Spring解决的问题 794.2.1 松散耦合和可测试性 804.2.2 衔接代码 804.2.3 轻量级架构 804.2.4 架构灵活性 804.2.5 简化横切关注点的实现过程 814.2.6 免费的设计模式 814.3 应用程序开发目标 814.3.1 速度 824.3.2 安全保障 834.3.3 可扩展性 844.4 单体应用面临的挑战 844.4.1 漫长的发布周期 854.4.2 难以扩展 854.4.3 适应新技术 854.4.4 适应新方法 854.4.5 适应现代化开发实践 854.5 了解微服务 854.5.1 什么是微服务 864.5.2 微服务架构 864.5.3 微服务的特点 884.5.4 微服务的优势 914.5.5 微服务面临的挑战 924.6 云原生应用程序 944.7 Spring项目 984.7.1 Spring Boot 984.7.2 Spring Cloud 994.8 小结 99第5 章 使用Spring Boot构建微服务 1005.1 什么是Spring Boot 1005.1.1 快速构建微服务器原型 1015.1.2 主要目标 1015.1.3 非功能性特性 1025.2 Spring Boot Hello World 1025.2.1 配置spring-boot-starter-parent 1025.2.2 用所需的starter项目配置pom.xml 1055.2.3 配置spring-boot-maven-plugin 1065.2.4 创建第 一个Spring Boot启动类 1075.2.5 运行Hello World应用程序 ……. 1085.2.6 自动配置 1105.2.7 starter项目 1135.3 什么是REST 1145.4 首个REST服务 1155.4.1 返回字符串的简单方法 1165.4.2 返回对象的简单REST方法 1185.4.3 包含路径变量的GET方法 1205.5 创建待办事项资源 1215.5.1 请求方法、操作和URI 1225.5.2 bean和服务 1225.5.3 检索待办事项列表 1245.5.4 检索特定待办事项的详细信息 1265.5.5 添加待办事项 1285.6 Spring Initializr 1325.7 自动配置概述 1365.8 小结 138第6章 扩展微服务 1396.1 异常处理 1396.2 HATEOAS 1446.3 验证 1476.3.1 对控制器方法启用验证 1486.3.2 定义bean验证 1486.3.3 验证功能单元测试 1496.4 编写REST服务文档 1496.5 使用Spring Security确保REST服务的安全 1566.5.1 添加Spring Security starter 1576.5.2 基本身份验证 1576.5.3 OAuth 2身份验证 1596.6 国际化 1646.7 缓存 1666.7.1 spring-boot-startercache 1666.7.2 启用缓存 1676.7.3 缓存数据 1676.7.4 JSR-107缓存注解 1676.8 小结 168第7章 Spring Boot的高级功能 1697.1 配置外部化 1697.1.1 通过application.properties自定义框架 1707.1.2 application.properties中的自定义属性 1737.1.3 配置文件 1767.1.4 其他定义应用程序配置值的选项 1787.1.5 YAML配置 1787.2 嵌入式服务器 1797.2.1 切换到Jetty和Undertow 1827.2.2 构建WAR文件 1837.3 开发者工具 1837.4 Spring Boot Actuator 1847.4.1 HAL浏览器 1857.4.2 配置属性 1877.4.3 环境细节 1887.4.4 运行状况 1897.4.5 映射 1897.4.6 bean 1907.4.7 度量 1917.4.8 自动配置 1937.4.9 调试 1947.5 部署应用程序到云端 1947.6 小结 196第8章 Spring Data 1978.1 背景信息——数据存储 1978.2 Spring Data 1988.2.1 Spring Data Commons 1998.2.2 Spring Data JPA 2008.3 Spring Data Rest 2128.3.1 GET方法 2138.3.2 POST方法 2148.3.3 搜索资源 2158.4 大数据 2158.5 小结 217第9章 Spring Cloud 2189.1 Spring Cloud 简介 2189.2 演示微服务设置 2209.2.1 微服务A 2209.2.2 服务消费方 2239.3 集中式微服务配置 2259.3.1 问题陈述 2259.3.2 解决方案 2269.3.3 选项 2269.3.4 Spring Cloud Config 2279.4 Spring Cloud Bus 2339.4.1 Spring Cloud Bus需求 2339.4.2 使用Spring Cloud Bus传播配置更改 2339.4.3 实现 2349.5 声明式REST客户端——Feign 2359.6 负载均衡 2379.7 名称服务器 2409.8 名称服务器的工作机制 2409.8.1 选项 2419.8.2 实现 2419.9 API 网关 2459.10 分布式跟踪 2509.10.1 分布式跟踪选项 2509.10.2 实现Spring Cloud Sleuth和Zipkin 2519.11 Hystrix——容错 2569.12 小结 257第 10章 Spring Cloud Data Flow 25810.1 基于消息的异步通信 25810.2 用于异步消息传递的Spring项目 26010.2.1 Spring Integration 26110.2.2 Spring Cloud Stream 26110.2.3 Spring Cloud Data Flow 26210.3 Spring Cloud Stream 26310.3.1 Spring Cloud Stream架构 26310.3.2 事件处理——股票交易示例 26410.4 Spring Cloud Data Flow 26910.4.1 高级架构 27010.4.2 实现Spring Cloud Data Flow 27110.4.3 Spring Cloud Data Flow REST API 28010.5 Spring Cloud Task 28110.6 小结 282第 11章 反应式编程 28311.1 反应式宣言 28311.2 反应式用例——股价页面 28511.2.1 传统方法 28511.2.2 反应式方法 28611.2.3 传统与反应式方法比较 28611.3 Java反应式编程 28711.3.1 反应式流 28711.3.2 Reactor 28811.3.3 Spring Web Reactive 29211.3.4 反应式数据库 29811.4 小结 302第 12章 Spring*佳实践 30312.1 Maven标准目录布局 30312.2 分层架构 30412.3 异常处理 30612.3.1 Spring的异常处理方法 30712.3.2 推荐的处理方法 30712.4 确保简化Spring配置 30812.4.1 在ComponentScan中使用basePackageClasses属性 30812.4.2 不在架构引用中使用版本号 30812.4.3 强制性依赖项首选构造函数注入而不是setter注入 30912.5 管理Spring项目的依赖项版本 30912.6 单元测试 31112.6.1 业务层 31112.6.2 Web层 31212.6.3 数据层 31212.6.4 其他*佳实践 31312.7 集成测试 31312.7.1 Spring Session 31412.7.2 示例 31512.8 缓存 31612.8.1 添加Spring Boot Starter Cache依赖项 31712.8.2 添加缓存注解 31712.9 日志记录 31712.9.1 Logback 31712.9.2 Log4j2 31812.9.3 独立于框架的配置 31912.10 小结 319第 13章 在Spring 中使用Kotlin 32013.1 Kotlin 32013.2 Kotlin与Java 32113.2.1 变量和类型推断 32113.2.2 变量和不变性 32213.2.3 类型系统 32213.2.4 函数 32313.2.5 数组 32413.2.6 集合 32413.2.7 未受检异常 32513.2.8 数据类 32613.3 在Eclipse 中创建Kotlin项目 32613.3.1 Kotlin插件 32613.3.2 创建Kotlin项目 32713.3.3 创建Kotlin类 32913.3.4 运行Kotlin类 33013.4 使用Kotlin创建Spring Boot项目 33113.4.1 依赖项和插件 33213.4.2 Spring Boot应用程序类 33313.4.3 Spring Boot应用程序测试类 33413.5 使用Kotlin实现REST服务 33513.5.1 返回字符串的简单方法 33513.5.2 返回对象的简单REST方法 33713.5.3 包含路径变量的GET方法 33813.6 小结 340

封面

精通Spring:Java Web开发与Spring Boot高级功能

书名:精通Spring:Java Web开发与Spring Boot高级功能

作者:[印]兰加·拉奥·卡拉南

页数:340

定价:¥99.0

出版社:人民邮电出版社

出版日期:2020-06-01

ISBN:9787115539441

PDF电子书大小:119MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注