前言

前言

Spring 5.0已经发布,它包含了很多令人兴奋的新功能,这些新功能会改变我们使用该框架的方式。本书会向读者介绍这种演变——从解决可测试应用程序的问题到在云端构建分布式应用程序。

本书首先介绍Spring 5.0的新增功能,讲解如何使用Spring MVC构建应用程序,然后全面阐释如何使用Spring Framework构建并扩展微服务,以及如何开发和部署云应用程序。你会了解应用程序架构的进化过程——从单体架构到围绕微服务构建的架构。此外,本书还将介绍Spring Boot的高级功能,并通过强大的示例演示这些功能。

学完本书之后,你将掌握使用Spring Framework开发应用程序的相关知识和最佳实践。

本书内容

第1章,向Spring Framework 5.0进化,介绍Spring Framework从初始版本到Spring 5.0的进化过程。最初,Spring通过依赖注入和核心模块开发可测试的应用程序。近年来的Spring项目(如Spring Boot、Spring Cloud、Spring Cloud Data Flow)处理应用程序基础架构以及将应用程序迁移到云端。我们会初步了解不同的Spring模块和项目。

第2章,依赖注入,详细介绍依赖注入。我们将学习Spring提供的不同类型的依赖注入方法,了解自动装配为何能简化工作。这一章还会简要介绍单元测试。

第3章,使用Spring MVC构建Web应用程序,概述如何使用Spring MVC构建Web应用程序。

第4章,向微服务和云原生应用程序进化,介绍应用程序架构在过去16年中的演进过程。我们将明白为什么需要微服务和云原生应用程序,并快速了解可用于构建云原生应用程序的多个Spring项目。

第5章,使用Spring Boot构建微服务,讨论Spring Boot如何帮助我们轻松创建基于Spring的生产级应用程序。它使得基于Spring的项目很容易启动,并能轻松将其与第三方库集成。这一章将介绍如何使用Spring Boot。我们首先实现一个基本的Web服务,然后添加缓存、异常处理、HATEOAS和国际化功能,同时还会利用Spring Framework提供的不同功能。

第6章,扩展微服务,重点介绍如何为第4章构建的微服务添加更多高级功能。

第7章,Spring Boot的高级功能,介绍Spring Boot的高级功能。你将了解如何通过Spring Boot Actuator来监视微服务,然后将微服务部署到云端;如何利用Spring Boot提供的开发者工具更加高效地完成开发工作。

第8章,Spring Data,介绍Spring Data模块。我们将开发一些简单的应用程序,将Spring与JPA和大数据技术集成。

第9章,Spring Cloud,介绍云端的分布式系统,这些系统存在一些共同的问题,采用通用的配置管理、服务发现、熔断机制和智能化路由。在这一章,你将学习如何利用Spring Cloud为这些通用模式开发解决方案。这些解决方案应能同时适用于云端以及开发人员的本地系统。

第10章,Spring Cloud Data Flow,介绍Spring Cloud Data Flow,它为基于微服务的分布式流和批量数据流水线提供了一组模式和最佳实践。在这一章,你将了解Spring Cloud Data Flow的基础知识,以及如何使用它来构建基本的数据流用例。

第11章,反应式编程,介绍使用异步数据流的编程方法。你将了解反应式编程以及Spring Framework提供的相关功能。

第12章,Spring最佳实践,帮助你了解使用Spring开发企业级应用程序时,单元测试、集成测试、维护Spring配置等方面的最佳实践。

第13章,在Spring中使用Kotlin,介绍一种快速流行起来的JVM语言——Kotlin。我们将讨论如何在Eclipse中搭建Kotlin项目,使用Kotlin创建一个新的Spring Boot项目,并实现几个支持单元测试和集成测试的基本服务。

本书所需的工具

为了运行本书中的示例,需要以下工具:

  • Java 8
  • Eclipse IDE
  • Postman

我们会使用嵌入Eclipse IDE中的Maven来下载所需的依赖项。

本书读者

本书面向经验丰富的Java开发者,他们了解Spring的基础知识,想要学习如何使用Spring Boot来构建应用程序并将其部署到云端。

排版约定

本书采用了一些文本样式来区分不同类型的信息。这里提供了这些样式的若干示例并解释了其含义。

正文中的代码和用户输入如下所示:“在你的pom.xml文件中配置spring-boot-starter-parent。”

代码块设置如下:

<properties>
  <mockito.version>1.10.20</mockito.version>
</properties>

命令行输入或输出如下:

mvn clean install

新术语重要的词语以黑体字显示。例如,你在屏幕上、菜单或对话框中看到的词语会显示如下:“请提供详细信息,然后单击Generate Project。”

 此图标表示警告或重要注释。

 此图标表示提示和诀窍。

读者反馈

我们始终欢迎读者反馈,请让我们了解你对本书的看法——你喜欢或不喜欢哪些内容。对我们而言,读者反馈至关重要,因为它有助于我们编写出可为读者提供最大帮助的内容。

要向我们发送一般反馈,请发送电子邮件至feedback@packtpub.com,并在邮件主题中注明书名。

如果你是某个领域的专家并有兴趣编写图书,请访问http://www.packtpub.com/authors

读者支持

我们为读者提供各种服务,以帮助读者充分利用购买的图书。

下载示例代码

如需下载本书的示例代码文件1,请访问http://www.packtpub.com/并登录自己的账户。如果是在其他地方购买的本书,请访问http://www.packtpub.com/support并注册,我们会将代码文件通过电子邮件直接发送给你。

1本书中文版的读者可访问https://www.ituring.com.cn/book/2443下载代码文件。——编者注

请通过以下步骤下载代码文件。

(1) 使用电子邮件地址和密码登录我们的网站或进行注册。

(2) 将鼠标移动到顶部的SUPPORT选项卡上。

(3) 单击Code Downloads & Errata

(4) 在Search框中输入书名。

(5) 选择要下载代码文件的图书。

(6) 从下拉菜单中选择购买本书的方式。

(7) 单击Code Download

下载该文件后,请确保使用如下软件的最新版本来解压或提取相关文件夹:

  • Windows上建议使用WinRAR/7-Zip。
  • Mac上建议使用Zipeg/iZip/UnRarX。
  • Linux上建议使用7-Zip/PeaZip。

本书的代码包可以在GitHub网站的PacktPublishing/Mastering-Spring-5.0页面获取。此外,该网站的PacktPublishing页面上也列出了我们所出版的各类图书和视频的代码包,欢迎查看。

勘误表

虽然我们已尽力确保图书本书内容正确,但出错仍旧在所难免。如果你在我们的图书中发现错误,无论是文本还是代码错误,请告知我们,我们会非常感谢。这样做可以减少其他读者的困扰,并帮助我们改进本书的后续版本。如果你发现任何错误,请访问http://www.packtpub.com/submit-errata,选择图书,单击Errata Submission Form链接,然后输入详细的错误信息。勘误一经核实,我们将接受你提交的表单,并将勘误上传到本公司网站或添加到现有勘误表中。2

2本书中文版的勘误,请到https://www.ituring.com.cn/book/2443查看和提交。——编者注

要查看以前提交的勘误,请访问https://www.packtpub.com/books/content/support,然后在搜索字段中输入书名。所需信息会在Errata区域显示出来。

反盗版

互联网上的盗版是所有媒体都要面临的问题。Packt非常重视保护版权和许可。如果你发现我们的作品在互联网上被非法复制,不管以什么形式,都请立即将地址或网站名称告知我们,以便我们采取补救措施。

请把可疑盗版材料的链接发送到copyright@packtpub.com

非常感谢你帮助我们保护作者,以及保护我们给读者带来有价值内容的能力。

问题

如果对本书的任何方面存有疑问,请通过questions@packtpub.com联系我们,我们将尽最大努力帮助你解决问题。

电子书

扫描如下二维码,即可购买本书中文版电子版。

{%}

目录

  • 版权声明
  • 前言
  • 第 1 章 向Spring Framework 5.0 进化
  • 第 2 章 依赖注入
  • 第 3 章 使用Spring MVC构建Web应用程序
  • 第 4 章 向微服务和云原生应用程序进化
  • 第 5 章 使用Spring Boot构建微服务
  • 第 6 章 扩展微服务
  • 第 7 章 Spring Boot的高级功能
  • 第 8 章 Spring Data
  • 第 9 章 Spring Cloud
  • 第 10 章 Spring Cloud Data Flow
  • 第 11 章 反应式编程
  • 第 12 章 Spring最佳实践
  • 第 13 章 在Spring中使用Kotlin
  • 作者简介