内容简介

Spring框架是为了降低解决企业系统开发的复杂度而产生的,掌握并学会使用Spring框架进行项目开发,是Java开发人员必备技能之一,《Spring 5企业级开发实战》从企业应用开发的角度出发,深入浅出地讲解了Spring5的新特性和Spring集成开发技术。《Spring 5企业级开发实战》共19章,第1章~第3章主要讲解如何搭建Spring开发环境以及SpringIoC和AOP容器的原理及代码分析。第4章和第5章概述Spring5和Java8的新特性。第6章和第7章讲解Spring5新特性——WebFlux响应式编程、开发和调试。第8章和第9章主要讲解Spring5集成Kotlin语言以及更多Spring5新特性的细节。第10章~第19章主要介绍Spring集成其他热门技术,例如,Log4j2日志框架、SpringMVC、MyBatis、Redis缓存、ZooKeeper、Kafka消息中间件、Mycat分库分表中间件、Sharding-JDBC和Dubbo服务治理框架等。附录部分介绍《Spring 5企业级开发实战》涉及的以及在面试中常见的设计模式。

Spring 5企业级开发实战》适用于所有Java编程语言开发人员、分布式系统开发爱好者以及计算机专业的学生等。

作者简介

周冠亚,上海交通大学软件工程硕士,先后就职于万达网络科技有限公司、上海2345网络科技有限公司、美团点评,主要从事后端Java开发工作,拥有丰富的软件开发经验,熟悉Java、高并发、微服务、大数据及相关软件架构。

黄文毅,CSDN博客专家,CSDN学院、网易学院和腾讯学院等网络学院讲师;曾就职于厦门星耀蓝图科技有限公司和上海美团,目前就职于厦门美图科技有限公司,主要从事美图秀秀和美拍后端开发工作。

前言/序言

前言

Spring在如今的Java企业开发中占据十分重要的地位。一路走来,作者经历过的上百个项目无一例外都是使用Spring开发的。2017年9月Spring5发布了通用版本(GA),标志着自2013年12月以来第一个主要SpringFramework版本诞生。《Spring 5企业级开发实战》从企业实战角度出发,讲解最新版本的Spring5.0\5.1的新特性,并将常见互联网技术与Spring集成,力争让读者通过《Spring 5企业级开发实战》能够又快又好地掌握Spring企业级开发技能,并能学以致用。

Spring 5企业级开发实战》涵盖Spring基础知识讲解,Spring5新特性和Spring集成开发等知识。《Spring 5企业级开发实战》从结构上可以分三部分,第一部分是Spring基础篇,介绍Spring核心概念和原理,涉及第1章~第3章。第二部分是Spring5高级特性篇,涉及第4章~第9章。第三部分是Spring系统集成篇,主要讲解Spring框架与互联网公司常用的技术集成开发,涉及第10章~第19章。附录部分还介绍了《Spring 5企业级开发实战》涉及的以及在面试中常见的设计模式。

Spring 5企业级开发实战》结构

Spring 5企业级开发实战》共19章和1个附录,各章内容概述如下:

第1章介绍Spring开发所需的环境和工具。包括JDK的安装,IntellijIDEA安装、Tomcat安装和配置、Maven安装。

第2章对Spring框架核心概念IoC容器进行讲解,并通过代码分析的方式阐述IoC容器的实现原理。

第3章对Spring框架核心概念AOP进行讲解,并说明如何通过不同的方式实现AOP,最后通过代码解析的方式阐述AOP的实现原理。

第4章概述Spring5的新特性。

第5章概述Java8的一些新特性,这些特性在Spring5中得到了支持。

第6章讲解使用Spring5的新特性WebFlux进行编程和Reactor编程。

第7章讲解Spring5提供的响应式客户端编程。

第8章讲解Spring5集成Kotlin进行编程。

第9章讲解更多Spring5的新特性及细节。

第10章讲解Spring集成Log4j2进行日志控制。

第11章讲解Spring如何集成SpringMVC模块进行Web开发,并分析SpringMVC底层代码实现。

第12章讲解Spring如何集成MyBatis进行数据库持久层开发,并分析MyBatis框架底层的代码。

第13章讲解Spring对事务的支持,并分析Spring事务管理的底层代码实现。

第14章讲解Spring集成Redis开发,并分析Redis各种不同部署方式之间的区别,本章最后分享在高并发场景下使用Redis需要注意的一些要点。

第15章讲解ZooKeeper如何进行开发,并分析ZooKeeper在特定场景下的一些高级用法。

第16章讲解Spring如何集成Kafka进行开发,并分析Kafka的核心架构。

第17章讲解Spring如何集成Mycat进行分库分表开发,及如何将Spring、Mybatis和Mycat集成进行数据库持久化层的开发。

第18章讲解Spring如何集成Sharding-JDBC进行分库分表开发,并讲解一些Sharding-JDBC的高级特性。

第19章讲解Spring如何集成Dubbo进行RPC服务开发,并分析Dubbo框架的底层代码。

附录A讲解《Spring 5企业级开发实战》代码分析过程中的设计模式和企业开发过程中常见的设计模式。

Spring 5企业级开发实战》预备知识

Java基础

需要读者掌握JavaSE基础知识,这是最基本的也是最重要的。

Linux基础

Spring 5企业级开发实战》讲解的Spring集成中间件开发部分,中间件都是基于Linux服务器进行部署的,因此读者应当掌握常用的Linux命令。

数据库基础

Spring 5企业级开发实战》会涉及Spring对事务的支持和Spring集成Mycat或Sharding-JDBC进行分库分表操作,因此读者对数据库基础知识应有较好的掌握。

分布式系统基础

Spring 5企业级开发实战》Spring系统集成部分会涉及当前互联网公司比较主流的分布式技术,读者需要对分布式系统的基础知识有一定的了解。

Spring 5企业级开发实战》使用的软件版本

Spring 5企业级开发实战》使用到的开发环境如下:

?操作系统MacOS10.14.3

?开发工具IntellijIDEA2018.1

?JDK版本1.8

?Tomcat9.0.10

?maven-3.5.0

?Spring最新版5.1.5.RELEASE

Spring 5企业级开发实战》系统集成部分使用到的多种组件的具体版本请参考对应章节。

读者对象

Spring 5企业级开发实战》适合所有Java编程语言开发人员,所有对Spring感兴趣的开发人员,对分布式系统感兴趣的开发人员以及对各类技术原理有求知欲的开发人员。

源代码下载

GitHub源代码下载地址:https://github.com/online-demo/spring5projectdemo.git

勘误与交流

限于笔者水平和写作时间有限,欢迎大家通过电子邮件等方式批评指正。

致谢

Spring 5企业级开发实战》能够顺利出版,首先要感谢清华大学出版社王金柱编辑给笔者一次与各位读者分享技术、交流学习的机会,感谢王金柱编辑在《Spring 5企业级开发实战》出版过程的辛勤付出。感谢好友黄文毅,也是笔者的同事,对笔者在写作思路和排版上的帮助和支持。

感谢汉海信息技术(上海)有限公司(简称美团点评),书中很多的知识点和项目实战经验都来源于“美团点评”,感谢主管章成峰、导师吕波和贾钧翔以及同事叶雄和孙成飞,感谢“饿了么”资深架构师唐斌对笔者技术和学习上的支持,感谢行业前辈杨继龙对笔者职业生涯的提点,感谢笔者的好友黄子涵对笔者写作进度的监督和指导,感谢英语老师吴定山对笔者英语能力的培养。

谨以此书献给我敬爱的父母,愿他们健康长寿。

周冠亚

2019年2月24日


其他推荐