01.09 畅销10万册,程序员都在学的Spring,第5版上线了

畅销10万册,程序员都在学的Spring,第5版上线了

来源 | 异步

从2003年发布至今,Spring 已成为目前最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建代码。

在整个Spring生态系统中,Spring、Spring Boot和所有其他项目的每个版本都发布了令人兴奋的新功能,重新点燃了开发应用程序的乐趣。

Spring 5.0和Spring Boot 2.0的发布达到了一个重要的里程碑。对Java技术人来说,Spring已然是当下最流行的框架之一。

畅销10万册,程序员都在学的Spring,第5版上线了

要说学习Spring最佳书籍,异步君就必须给大家推荐《Spring实战》了!


《Spring实战》为何值得推荐


推荐理由1:这是一本经典教程,销量破10万,好评高达99%。

这本畅销全球的Spring学习和实践指南,翻译至今,已出版4个版本,累计销售10万册,好评高达99%。

畅销10万册,程序员都在学的Spring,第5版上线了

畅销10万册,程序员都在学的Spring,第5版上线了


畅销10万册,程序员都在学的Spring,第5版上线了

▲ 《Spring实战》第4版评价7w+,好评99%


《Spring实战(第4版)》在豆瓣上获得8.2的高分,无论从销量还是好评来看这都是一本经典教程。


畅销10万册,程序员都在学的Spring,第5版上线了

▲ 《Spring实战(第4版)》 豆瓣评分8.2


畅销10万册,程序员都在学的Spring,第5版上线了

▲ 《Spring实战(第4版)》 好评如潮

推荐理由2:第5版上市,涵盖了Spring 5.0和Spring Boot 2.0里程碑式的更新。

《Spring实战(第5版)》抢读版已经上线,针对Spring 5 进行了全面升级,结合了当下Spring Cloud和微服务开发等热门技术话题,为Java技术人员提供了有一实践指南!


Spring 5的主要功能是对反应式编程的支持,包括Spring WebFlux。这是一个全新的反应式Web框架,借鉴了Spring MVC的编程模型,允许开发人员创建伸缩性更好且耗用更少线程的Web应用程序。至于Spring应用的后端,最新版本的Spring Data支持创建反应式、非阻塞的数据repository。所有这些都构建在Reactor项目之上,Reactor是一个用于处理反应式类型的Java库。

除了Spring 5新的反应式编程特性之外,Spring Boot 2提供了比以前更多的自动配置支持,以及一个完全重新设计的Actuator,用于探查和操作正在运行的应用。

更重要的是,当开发人员希望将单体应用拆分为分散的微服务时,SpringCloud提供了一些工具,使配置和发现微服务变得容易,并增强了微服务的功能,使它们更能抵御失败。

值得一提的是,《Spring实战(第5版)》涵盖了所有的这些功能,甚至更多!如果你是经验丰富的老手,《Spring实战(第5版)》可以作为指南,指导你去学习Spring提供的新功能;如果你是Spring新手,那么现在是行动起来的最佳时机,本书的前几章会让你快速上手!


推荐理由3:五大部分内容,可快速入门,也可作为参考指南。

本书是一本经典而实用的畅销Spring学习指南。

可以让读者学会使用Spring框架、Spring Boot以及Spring生态系统中各种辅助成员构建令人赞叹的应用程序。

畅销10万册,程序员都在学的Spring,第5版上线了

本书首先介绍如何使用Spring和Spring Boot开发基于Web、以数据库作为后端的Java应用;随后进行必要的扩展,展现如何与其他应用进行集成、使用反应式类型进行编程,以及将应用拆分为离散的微服务;最后讨论如何准备应用的部署。


第5版涵盖了Spring 5.0和Spring Boot 2.0里程碑式的更新。全书分为5个部分,共19章。


第1部分涵盖构建Spring应用的基础话题。

  • 第1章介绍Spring和Spring Boot以及如何初始化Spring项目。在本章中,我们迈出构建Spring应用的第一步,在本书后续各章中,我们会对这个应用进行扩展。
  • 第2章讨论如何使用SpringMVC构建应用的Web层。在本章中,我们将会构建处理Web请求的控制器以及在浏览器中渲染信息的视图。
  • 第3章会深入探讨Spring应用的后端,在这里数据会持久化到关系型数据库中。
  • 在第4章中,我们会使用SpringSecurity认证用户并防止未认证的用户访问应用。
  • 第5章介绍如何使用SpringBoot的配置属性功能来配置Spring应用。我们还会学习如何使用profile选择性地应用配置。

第2部分讨论如何将Spring应用与其他应用进行集成。

  • 第6章延续第2章对Spring MVC的讨论,我们将会学习如何在Spring中编写REST API。
  • 第7章讨论和第6章相对立的主题,展现Spring应用如何消费REST API。
  • 第8章会讨论如何使用异步通信技术让Spring应用发送和接收消息,这里会用到Java Message Service、RabbitMQ或Kafka。
  • 第9章讨论如何使用SpringIntegration进行声明式的应用集成。

第3部分探讨Spring对反应式编程提供的全新支持。

  • 第10章介绍Reactor项目。这是一个反应式编程库,支撑了Spring 5的反应式特性。
  • 第11章重新探讨RESTAPI开发,介绍全新的Web框架Spring WebFlux。该框架借用了很多Spring MVC的理念,但是为Web开发提供了新的反应式模型。
  • 第12章将会看一下如何使用SpringData编写反应式数据持久化,我们将会读取和写入Cassandra与Mongo数据库。

第4部分将会拆分单体应用模型,介绍Spring Cloud和微服务开发。

  • 第13章会深入介绍服务发现,组合使用Spring和Netflix的注册中心实现Spring微服务的注册和发现。
  • 第14章将展现如何在配置服务器中实现中心化的应用配置,从而实现跨微服务共享配置。
  • 第15章会介绍Hystrix的断路器模式。它能够让微服务在面临失败时更有弹性。

在第5部分中,我们将会讨论如何做好将应用投入生产环境的准备,并看一下如何进行部署。

  • 第16章会介绍SpringBoot Actuator。它是Spring Boot的一个扩展,通过REST端点的形式暴露Spring应用内部的运行状况。
  • 第17章将会介绍如何使用SpringBoot Admin。它是构建在Actuator之上的一个用户友好的基于浏览器的管理应用。
  • 第18章将会讨论如何将Springbean暴露为JMX MBean以及如何消费它们。
  • 在第19章中,我们会看到如何将Spring应用部署到各种生产环境中。

通常来讲,刚刚接触Spring的开发人员应该从第1章开始,并按顺序阅读每一章;经验丰富的Spring开发人员可能更愿意在任何感兴趣的时候参与进来。

作者:克雷格·沃斯(Craig Walls)

克雷格·沃斯(Craig Walls)是Pivotal的首席工程师。他是Spring框架的热心推动者,经常在本地用户组和会议上发言,撰写关于Spring的文章。在不琢磨代码的时候,Craig正在计划去迪士尼世界或迪士尼乐园的下一次旅行,他希望尽可能多地陪伴他的妻子和两个女儿。

软件工程师,InfoQ社区编辑,熟悉Java语言,对Java开源框架有一定研究,入Spring、Hibernate以及Eclipse等,熟悉Web前端开发,了解相关技术以及jQuery、Dojo、ExtJs等框架,目前主要从事企业级软件的开发。

Spring 到底有何魅力?


Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO 编程模型来促进良好的编程实践。


Spring发布至今已超过15年了,我们现在开发应用的方式和1年前、5年前、10年前都是不同的,更别提15年前了。当时,最常见的应用形式是基于浏览器的Web应用,后端由关系型数据库作为支撑。

尽管这种形式的开发依然有它的价值,Spring也为这种应用提供了良好的支持,但是我们现在感兴趣的还包括如何开发面向云的由微服务组成的应用,这些应用会将数据保存到各种类型的数据库中。另外一个崭新的关注点是反应式编程,它致力于通过非阻塞操作提供更好的扩展性并提升性能。

随着软件开发的发展,Spring框架也在不断变化,以解决现代应用开发中的问题,其中就包括微服务和反应式编程。Spring还通过引入Spring Boot简化自己的开发模型。

不管你是开发数据库作为支撑的简单Web应用,还是围绕微服务构建一个现代应用,Spring框架都能帮助你达成目标。

那Spring到底是什么呢?

Spring的核心是提供了一个容器(container),通常被称为Spring应用上下文(Spring application context),它们会创建和管理应用组件。这些组件也可以被称为bean,会在Spring应用上下文中装配在一起,从而形成一个完整的应用程序。这就像砖块、砂浆、木材、管道和电线组合在一起,形成一栋房子似的。

将bean装配在一起的行为是通过一种基于依赖注入(dependency injection,DI)的模式实现的。此时,组件不会再去创建它所依赖的组件并管理它们的生命周期,使用依赖注入的应用依赖于单独的实体(容器)来创建和维护所有的组件,并将其注入到需要它们的bean中。通常,这是通过构造器参数和属性访问方法来实现的。

举例来说,假设在应用的众多组件中,有两个是我们需要处理的:库存服务(用来获取库存水平)和商品服务(用来提供基本的商品信息)。商品服务需要依赖于库存服务,这样它才能提供商品的完整信息。下图即阐述这些bean和Spring应用上下文之间的关系。

畅销10万册,程序员都在学的Spring,第5版上线了

应用组件通过Spring的应用上下文来进行管理并实现互相注入

在核心容器之上,Spring及其一系列的相关库提供了Web框架、各种持久化可选方案、安全框架、与其他系统集成、运行时监控、微服务支持、反应式编程以及众多现代应用开发所需的特性。

了解了这么多,是不是迫不及待想和10万+Java技术人一起学习Spring了?《Spring实战(第5版)》电子书已经上线,针对Spring 5 进行了全面升级,一起来学习吧!


《Spring实战(第5版)》

畅销10万册,程序员都在学的Spring,第5版上线了


《Spring实战(第5版)》抢读版正式上线!什么是抢读版呢?就是在图书出版前2-3个月抢先阅读图书的原创稿件,并同时可以购买本书的纸质版,创作期间可以与本书作者交流互动。


本书既适合刚开始学习Spring Boot和Spring框架的Java开发人员快速上手,也适合经验丰富的Spring开发人员学习Spring的新特性,尤其适用于企业级Java开发人员。

-END-


分享到:


相關文章: