前言

自2004年3月发布时起,Spring Framework因其能够简化单元测试、减少衔接代码、具备架构灵活性以及与时俱进等优点,日益受到Java Web开发者的青睐。再加上近年来微服务和分布式系统的兴起,Spring Framework成为了具有代表性的Java框架之一。

而今天分享的这份:精通Spring:Java Web开发与Spring Boot高级功能,全面、深入地指导手册,介绍Spring 5.0的新增功能,讲解如何使用Spring MVC构建应用程序,全面阐释如何使用Spring Framework构建并扩展微服务,以及如何开发和部署云应用程序。此外,本书还介绍Spring Boot的功能,并通过强大的实例演示这些功能。学完本书之后,读者将掌握使用Spring Framework开发应用程序的相关知识和实践策略。

 

干货满满

1.全面剖析Spring 5.x核心特征及新增功能,助你轻松掌握Java企业级应用程序开发;
2.深入介绍Spring Boot功能,助你将微服务快速部署到云端。

特点

●探索Spring Framework 5.0的新功能
●研究使用Spring Boot构建微服务
●阐释使用Spring Cloud在云上部署和管理应用程序
●介绍Spring Data和Spring Cloud Data Flow
●讲解反应式编程的基础知识
●掌握使用Spring Framework开发应用程序时的实践策略
●学习Spring Boot的功能
●讨论在Spring中使用Kotlin创建新项目

书籍目录

 

第1章向Spring Framework 5.0进化:本章首先介绍Spring Framework的核心功能,然后分析它流行的原因以及它如何保持首选框架的地位,接着介绍Spring Framework中的重要模块,随后学习Spring项目,最后介绍Spring Framework5.0中的新增功能本章将回答以下问题:

  • Spring Framework为什么流行?
  • Spring Framework如何适应应用程序架构的不断进化?
  • Spring Framework中有哪些重要的模块?
  • 在一系列Spring项目中,Spring Framework扮演着什么角色?
  • Spring Framework 5.0中有哪些新增功能?

 

第2章依赖注入:本章首先将分析依赖注人的需求,并通过一个简单的示例来说明依赖注人的用法,然后讲解依赖注人的重要优势——提高可维护性、松散耦合和改进可测试性,并介绍Spring中的依赖注人选项,最后阐释为Java的上下文和依赖注入(C***定的标准依赖注入规范,以及Spring如何为其提供支持。本章将回答以下问题:

  • 什么是依赖注人?
  • 正确使用依赖注人如何提高应用程序的可测试性?
  • Spring如何通过注解实现依赖注入?
  • 什么是组件扫描?
  • 在应用程序上下文方面,Java 与XML有什么不同?
  • 如何为Spring上下文创建单元测试?
  • 模拟如何简化单元测试?
  • 有哪些不同的bean作用域?
  • 什么是CDI以及Spring如何支持CDI?

 

第3章使用Spring MVC构建Web应用程序:Spring MVC是开发Java Web应用程序最常用的Web框架,其优势在于采用了简洁的、松散耦合的架构。它通过准确定义控制器、处理程序映射、视图解析器和简单Java对象(POJO)命令bean 的职责,利用了Spring的所有核心功能,如依赖注入和自动装配,进而简化了Web应用程序开发。Spring MVC支持多种视图技术,也具有可扩展性。Spring MVC可用于创建REST服务,第5章会介绍这一话题。本章将主要通过一些简单的示例介绍 Spring MVC的基础知识。本章将涵盖以下话题:

  • Spring MVC架构;
  • Dispatcherservlet.视图解析器。处理程序映射和控制器所扮演的角色;
  • 模型属性和会话属性;
  • 表单绑定与验证;
  • 集成Bootstrap;
  • Spring Security基础知识;
  • 为控制器编写简单的单元测试。

 

第4章向微服务和云原生应用程序进化:本章将首先回顾Spring Framework在过去16年里帮助解决的问题,然后梳理单体应用( monolithic application)的问题,并介绍小型、可独立部署的组件。本章将探讨为什么整个世界正转向微服务和云原生应用程序,最后会介绍 Spring Framework和Spring项目将如何进化以解决当前面临的问题。本章将涵盖以下话题:

  • 基于Spring的奥型应用程序的架构。
  • Spring Framework在过去16年里帮助解决的问题。
  • 开发应用程序时的目标是什么?
  • 单体应用面临哪些挑战?
  • 什么是微服务?
  • 微服务有哪些优势?
  • 微服务面临哪些挑战?
  • 有哪些好的做法有助于在云端部署微服务?
  • 有哪些Spring项目可帮助我们开发微服务和云原生应用程序?

 

第5章使用Spring Boot构建微服务:如上一章所述,我们正转向采用小型、可独立部署的微服务架构。这意味着会有大量小型微服务被开发出来。—个重要后果是,我们需要能够快速起步并使用新组件运行服务。Spring Boot 旨在解决使用新组件快速运行服务的问题。本章将首先介绍Spring Boot提供的功能,并回答以下问题。

  • 为什么选择Spring Boot?
  • Spring Boot提供了哪些功能?
  • 什么是自动配置?
  • Spring Boot不支持哪些功能?
  • 使用Spring Boot时,后台会发生什么?
  • 如何使用Spring Iitaliza创建新的Spring Boot项目?
  • 如何使用Spring Boot创建基本的RESTful服务?

 

第6章扩展微服务:第5章构建了提供几项服务的基本组件。这一章将主要介绍如何添加更多功能,以便在生产环境中使用微服务。这一章将讨论如何在微服务中添加以下功能:

  • 异常处理
  • HATEOAS
  • 缓存
  • 国际化

本章还将说明如何使用Swagge 微服务编写文档,并介绍使用 Spring Security 确保微服务安全的基础知识

 

第7章Spring Boot的高级功能:上一章对微服务进行了扩展,添加了异常处理、HATEOAS、缓存和国际化功能。本章将介绍如何将服务部署到生产环境。要将服务部署到生产环境,需要能设置和开发功能,以配置、部署和监视服务。本章将回答以下问题:

  • 如何实现应用程序配置外部化?
  • 如何使用配置文件配置特定于环境的值?
  • 如何将应用程序部署到云端?
  • 什么是嵌入式服务器?如何使用 Tomcat 、Jetty 和 Undcrtow?
  • Spring Boot Actuator提供了哪些监视功能?
  • 使用Spring Boot的开发人员如何提高生产效率?

 

第8章Spring Data:第7章介绍了Spring Boot的高级功能,如配置外部化、监视、嵌入式服务器以及部署到云端。这一章将关注数据。过去10年中,存储数据的介质和方式一直在快速进化。关系型数据库经过数十年的稳定发展后,大量非结构化、非关系型数据库在过去10年中逐渐成为主流。由于存在有各式各样的数据存储,与这些数据存储进行交互的框架开始变得愈加重要。虽然使用JPA可以与关系型数据库轻松交互,但Spring Data旨在提供一种通用方法,从而与更广泛的数据存储(关系型数据库或其他数据库〉交互。本章将回答以下问题:

  • 什么是Spring Data?
  • Spring Data的目标是什么?
  • 如何使用Spring Data和Spring Data JIPA与关系型数据库交互?
  • 如何使用Spring Data与非关系型数据库(如MongoDB)交互?

 

第9章Spring Cloud:本章将介绍与开发云原生应用程序以及使用Spring Cloud项目实现这些应用程序有关的一-些重要模式。本章将介绍以下特性:

  • 通过Spring Cloud Confg Server实现集中式微服务配置;
  • 使用Spring Cloud Bus跨微服务实例实现配置同步;
  • 使用Feign创建声明式REST客户端;
  • 使用Ribbon实现客户端负载均衡:
  • 使用Eureka实现名称服务器;
  • 使用Zuul实现API网关:
  • 使用Spring Cloud Sleuth和Zipkin实现分布式跟踪;
  • 使用Hystrix实现容错。

 

第10章Spring Cloud Data Flow:Spring Data Flow在典型的数据流和事件流情景中引入了微服务架构。本章稍后会详细介绍这些情景。Spring Data Flow建立在其他Spring 项目(如Spring Cloud Stream, Spring Integration和Spring Boot)之上,有助于通过基于消息的集成轻松定义并扩展与数据和事件流有关的用例。本章将涵盖以下主题:

  • 为什么需要异步通信?
  • 什么是Spring Cloud Stream?如何在Spring Itegration之上构建Spring Cloud Stream?
  • 为什么需要Spring Data Flow?
  • 你需要了解Spring Data Flow中的哪些重要概念?
  • Spring Data Flow的用例有哪些?

 

第11章反应式编程:上一章介绍了如何使用Spring Cloud Datu Flow通过微服务实现典型的数据流用例。函数式编程的出现,标志着用户开始从传统命令式编程转向声明式编程。响应式编程建立在函数式编程的基础之上,可以提供一种替代编程方式。本章将介绍反应式编程的基础知识。微服务架构倡导采用基于消息的通信。反应式编程的一个重要原则是基于事件(或消息)构建应用程序。我们需要解答的一些重要问题如下:

  • 什么是反应式编程?
  • 它有哪些典型的用例?
  • Java为它提供了哪些方面的支持?
  • Spring WebFlux提供了哪些反应式功能?

 

第12章Spring最佳实践:前几章介绍了大量Spring项一Spring MVC , Spring Boot. Spring Cloud, Sprig Cloud DataFlow和Spring Reuctive。不过,即使选择了正确的框架,你在开发企业级应用程序时仍会面临挑战,其中最大的挑战之一在于如何恰当地使用各种框架。本章介绍使用Spring Framework开发企业级应用程序的最佳实践。我们将探讨以下方面的最佳实践:

  • 企业级应用程序的结构
  • Spring配置
  • 管理依赖项版本.
  • 异常处理
  • 单元测试
  • 集成测试
  • 会话管理
  • 缓存
  • 日志记录

 

第13章在Spring中使用Kotlin:Kotin是一种静态类型 JVM语言,可以编写出表达力强、简短且可读的代码。Spring Frame-work 5.0全面支持Kotline本章将介绍Kotlio的一些重要功能,并探讨如何使用Kotlin和Spring Boot创建基本的REST服务。学完本章后,你会掌握以下知识。

  • 什么是Kotin?
  • 它与Java相比的优势是什么?
  • 如何在Eelipse中创建Kotlin项目?
  • 如何使用Kotin创建Spring Boot项目?
  • 如何使用Kotlin实现简单的Spring Boot REST服务并对其进行单元测试?

 

由于篇幅限制,仅展示部分目录,想要获取这份:“精通SpringJava Web开发与Spring Boot高级功能”资料的小伙伴添加小助理哦