腾讯大佬结合实战案例带你深入了解Spring开发

内容提要

自Spring诞生以来,以Spring技术栈为核心的企业级应用开发方式深入人心,已经成为Java EE开发的最佳实践。随着Spring5版本的发布,Spring 自身也发生了巨大的变革。本书力求全面介绍Spring框架,涵盖了Spring 核心、测试、数据访问、Web 开发、响应式编程、系统集成及微服务等方面在内的共26章的内容,可以说是Spring技术的“百科全书”。
同时,本书基于Spring 5版本来编写,除了涉及Spring 5版本的新特性外,还介绍了REST服务、响应式Web开发、微服务设计、Spring Boot、Spring Cloud等方面的前瞻技术。而且除了讲解Spring的理论知识外,还在每个知识点上辅以大量的代码案例,使理论可以联系实际,具备更强的可操作性。
本书主要面向的是Java开发者,以及对以Spring为核心的Java EE开发感兴趣的计算机专业的学生、软件开发人员和系统架构师。

前言:

Spring自诞生以来,- -直被广大开发者作为Java 企业级应用开发的首选。无论是早年流行的SSH框架( Spring、Struts、 Hibernate) ,还是近些年盛行的SSM组合( Spring、Spring MVC、MyBatis ),唯一不变的就是Spring。伴随互联网十几年的风云变迁,Spring 也不断地进行着技术革命,向着云计算、平台化方向发展。
Spring至今仍然奉行着最初的宗旨一简 化企业级应用的开发。特别是Spring Boot、Spring Cloud等项目的诞生,进一步简化了基于Spring的企业级、分布式系统的应用开发方式。为此,笔者在2014年以开源方式翻译了《Spring Framework 4.x参考文档》,备受广大开发者关注。在2017年,笔者编写了一系列关于Spring开发实战的书籍及培训视频教程,包括《Spring Boot企业级应用开发实战》和《SpringCloud微服务架构开发实战》等D ,致力于让广大读者能够真正领略Spring所带来的力量和乐趣。

本书特色

本书具有以下特色。
(1)全面:本书全面介绍Spring框架,涵盖了Spring核心、测试、数据访问、系统集成、Web开发、响应式编程及微服务等方面在内的共26章的内容,可以说是Spring技术的“百科全书”。
(2)前瞻:本书基于Spring 5版本来编写,除了涉及Spring 5版本的新特性外,还介绍了REST服务、响应式Web开发、微服务设计、Spring Boot及Spring Cloud等方面的前瞻技术。
(3)实用:本书除了讲解Spring 的理论知识外,还在每个知识点上辅以大量的实战案例,使理论可以联系实际,具备更强的可操作性。
(4)简明:目录标注有“新功能” “难点”及“重点”等标识,方便读者做好知识点的归纳和总结。
(5)权威:以Spring官方文档和Spring框架源码为主要参考依据,确保知识点的权威性。

第一章:

Spring诞生之初是以J2EE的挑衅者身份而为广大Java开发者所熟知的。特别是当时J2EE平台中的EJB( Enterprise Java Beans )标准,由于其设计本身的缺陷,导致在开发过程中使用非常复杂,代码侵入性很强。又由于EJB是依赖于容器实现的,因此进行单元测试也变得极其困难,最终的后果是大多数开发者对Java企业级开发望而却步。
腾讯大佬结合实战案例带你深入了解Spring开发_第1张图片

第二章:

在第1章中,已经体验了Spring 应用的开发过程,而且对Spring 诞生的历史也做了简单的介绍。
其实Spring所涵盖的意义远远不止是一-个应用框架 ,下 面就来详细解读Spring。
腾讯大佬结合实战案例带你深入了解Spring开发_第2张图片

第三章:

软件测试的目的,一方面是为了检测出软件中的bug,另一方面是为了检验软件系统是否满足需求。
然而,在传统的软件开发企业中,测试- -直被视为“二等公民”,测试工作也往往得不到技术人员的足够重视。随着Web应用的兴起,特别是以微服务为代表的分布式系统的发展,传统的测试技术也面临着巨大的变革。
腾讯大佬结合实战案例带你深入了解Spring开发_第3张图片

第四章:

TDD ( Test-Driven Development,测试驱动开发)方法要求开发人员开发功能代码之前,先编写单元测试用例代码。真正的单元测试通常运行得非常快,所以花费时间用于编写测试用例对整个开发周期来说,是效率上的提升。TDD是敏捷开发中的一-项核心实践和技术,也是-种设计方法论。
在这里插入图片描述

第五章:

集成测试,也称组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求组装成子系统或系统,进行集成测试。虽然单元测试保障了每个类、每个函数都可以正常工作,但这也并不能保证连接起来也能正常工作。
腾讯大佬结合实战案例带你深入了解Spring开发_第4张图片

第六章:

在关系数据库中,一个事务可以是- -条SQL语句、一组SQL语句或整个程序。事务是恢复和并发控制的基本单位。
腾讯大佬结合实战案例带你深入了解Spring开发_第5张图片

第七章:

Java EE开发人员使用DAO ( Data Access Object,数据访问对象)设计模式,以便将低级别的数据访问逻辑与高级别的业务逻辑分离。
Spring中的DAO层能够以一-致的方式轻松处理JDBC、Hibernate 或JPA等数据访问技术,这使得人们可以相当容易地在上述持久化技术之间进行切换。
同时,Spring 的DAO层对各种技术的异常进行了封装,以便开发者能够使用统一的异常, 而无须担心捕捉每种技术特有的异常。
腾讯大佬结合实战案例带你深入了解Spring开发_第6张图片

第八章:

JDBC ( Java Data Base Conetivity)是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统- .访问, 它是由- -组用Java语言编写的类和接口组成的。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
腾讯大佬结合实战案例带你深入了解Spring开发_第7张图片

第九章:

ORM ( Object Relational Mapping,对象关系映射)是一种程序技术,用于实现面向对象编程语言中不同类型数据之间的转换,如Java对象与关系型数据库数据的转换。Spring框架在实现资源管理、数据访问对象(DAO)层及事务策略等方面,支持对Java持久化API (JPA)及原生Hi-
bermate的集成。以Hibernate来说,Spring 有非常强的IoC功能,可以解决许多典型的Hibernate配置和集成问题。开发者可以通过依赖注入来配置ORM组件支持的特性。Hibernate 的这些特性可以参与Spring的资源和事务管理,并且符合Spring 的通用事务和DAO层的异常体系。因此,Spring团队推荐使用Spring集成的方式来开发DAO层,而不是使用原生的Hibernate或JPA的API。
腾讯大佬结合实战案例带你深入了解Spring开发_第8张图片

第十章:

XML ( eXtensible Markup Language,可扩展标记语言)是标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。XML同时也是Web服务的数据交换标准。
腾讯大佬结合实战案例带你深入了解Spring开发_第9张图片

第十一章:

Spring Web MVC框架简称“Spring MVC",实现了Web开发中的经典的MVC ( Model-View-Controller)模式。MVC由以下3部分组成。
①模型( Model) :应用程序的核心功能,管理模块中用到的数据和值。
②视图( View) :提供模型的展示,管理模型如何显示给用户,它是应用程序的外观。
③控制器( Controller) :对用户的输人做出反应,管理用户和视图的交互,是连接模型和视图的枢纽。
腾讯大佬结合实战案例带你深入了解Spring开发_第10张图片

第十二章:

顾名思义。RestTemplate 就是Spring原生的REST客户端,用于执行HTTP请求,遵循类似于Spring框架中其他模板类的方法,如Jdbc Template,JmsTemplate 等。通过RestTemplate, Spring 应用能够方便地使用REST资源。模板方法将过程中与特定实现相关的部分委托给接口,而这个接口的不同实现定义了接口的不同行为。RestTemplate 定义了36个与REST资源交互的方法,其中大多数都对应于HTTP的方法。
腾讯大佬结合实战案例带你深入了解Spring开发_第11张图片

第十三章:

随着Web的发展,用户对于Web的实时要求也越来越高,如工业运行监控、Web在线通信、即时报价系统、在线游戏等,都需要将后台发生的变化主动地、实时地传送到浏览器端,而不需要用户手动地刷新页面。
腾讯大佬结合实战案例带你深入了解Spring开发_第12张图片

第十四章:

在高性能网络编程中,经常会听到“非阻塞”( Non-Blocking)和“ 函数式编程”( FunctionalProgramming )等字眼,这些是构成高性能,高并发的关键。
腾讯大佬结合实战案例带你深入了解Spring开发_第13张图片

第十五章:

spring-webflux模块包括- -个响应式、非阻塞客户端WebClient,用于HTTP请求,以及具有函数式API客户端和响应流支持。WebClient 依赖较低级别的HTTP客户端库来执行请求,并且该支持是可插拔的。
腾讯大佬结合实战案例带你深入了解Spring开发_第14张图片

第十六章:

有关WebSocket的协议内容在“第13章WebSocket"中做了详细的描述。本章主要关注响应式编程中的WebSocket。Spring5支持基WebSocket的响应式编程。Spring 框架提供了WebSocket API,可用于编写处理WebSocket消息的客户端和服务器端应用程序。
腾讯大佬结合实战案例带你深入了解Spring开发_第15张图片

第十七章:

大型企业级项目中很少是单应用的。应用与应用之间需要通过集成来相互发生联系。举例来说,一个最为简单的Web 项目需要涉及客户端(浏览器)、后台服务器、数据库等软件组件,这些组件都是独立的应用,它们通过集成来组成一个完整的项目。
腾讯大佬结合实战案例带你深入了解Spring开发_第16张图片

第十八章:

本书的开篇就介绍了Spring 诞生的大部分原因是当时的EJB被诟病太多,Spring 提供了一种更为轻量的方式来实现企业级应用开发。
在这里插入图片描述

第十九章:

JMS最大的优势在于集成系统双方实现了解耦。JMS允许应用程序组件基于Java EE平台创建、发送、接收和读取消息,它使分布式通信耦合度更低,消息服务更加具有可靠性及异步性。
腾讯大佬结合实战案例带你深入了解Spring开发_第17张图片

第二十章:

JMX ( Java Management Extensions, Java 管理扩展)是一个为应用程序、设备、系统等植人管理功能的框架。JMX可以跨越- - 系列异构操作系统平台、系统体系结构和网络传输协议,灵活地开发无缝集成的系统、网络和服务管理应用。
腾讯大佬结合实战案例带你深入了解Spring开发_第18张图片

第二十一章:

JCA ( Java EE Connector Architecture, Java EE连接器体系结构)是Java EE提供的标准化对企业信息系统( EIS )访问的规范。该规范分为以下两个部分。
腾讯大佬结合实战案例带你深入了解Spring开发_第19张图片

第二十二章:

Spring框架提供了发送电子邮件的工具,这类工具可以有效屏蔽底层邮件系统开发的复杂性。
腾讯大佬结合实战案例带你深入了解Spring开发_第20张图片

第二十三章:

企业级应用中往往少不了定时任务。例如,做数据迁移或数据备份的任务往往会选择系统负荷最小的凌晨来执行。可靠的任务调度系统是保障定时任务能够成功执行的关键。
腾讯大佬结合实战案例带你深入了解Spring开发_第21张图片

第二十四章:

有时,为了提升整个网站的性能,会将经常需要访问的数据缓存起来,这样,在下次查询的时候,能快速找到这些数据
腾讯大佬结合实战案例带你深入了解Spring开发_第22张图片

第二十五章:

软件系统通常会采用分层架构形式。所谓分层,是指将软件按照不同的职责进行垂直分化,最终软件会被分为若干层。以Java EE应用为例,Java EE软件系统经常会采用经典的三层架构。
腾讯大佬结合实战案例带你深入了解Spring开发_第23张图片

第二十六章:

从零开始构建一套完整的分 布式系统是困难的。笔者在《分布式系统常用技术及案例分析》一书中用了将近700页的篇幅来介绍当今流行的分布式架构技术方案。这些技术涵盖了分布式消息服务、分布式计算、分布式存储、分布式监控系统.分布式版本控制、RESTful、微服务、容器等众多领域的内容,可见构建分布式系统需要非常广的技术面。就微服务架构的风格而言,一套完整的微服务架构系统往往需要考虑以下方面。
腾讯大佬结合实战案例带你深入了解Spring开发_第24张图片
喜欢小编的文章可以关注并转发哦~~~
腾讯大佬结合实战案例带你深入了解Spring开发_第25张图片

你可能感兴趣的:(java,java核心知识点,java面试)