购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

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

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

本书结构

本书共19章和1个附录,各章内容概述如下:

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

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

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

第4章 概述Spring 5的新特性。

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

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

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

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

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

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

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

第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 讲解本书代码分析过程中的设计模式和企业开发过程中常见的设计模式。

本书预备知识

Java基础

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

Linux基础

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

数据库基础

本书会涉及Spring对事务的支持和Spring集成Mycat或Sharding-JDBC进行分库分表操作,因此读者对数据库基础知识应有较好的掌握。

分布式系统基础

本书Spring系统集成部分会涉及当前互联网公司比较主流的分布式技术,读者需要对分布式系统的基础知识有一定的了解。

本书使用的软件版本

本书使用到的开发环境如下:

· 操作系统MacOS 10.14.3

· 开发工具Intellij IDEA 2018.1

· JDK版本1.8

· Tomcat 9.0.10

· maven-3.5.0

· Spring最新版5.1.5.RELEASE

本书系统集成部分使用到的多种组件的具体版本请参考对应章节。

读者对象

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

源代码下载

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

勘误与交流

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

笔者的邮箱:zhouguanya20@163.com huangwenyi10@163.com

笔者的博客:http://blog.csdn.net/huangwenyi1010

笔者的微信公众号:A_GallopingSnail

致谢

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

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

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

周冠亚
2019年2月24日 k1hPPc3XWrS5Tkz/Z6ywELVfcPj6xr//ISrQqWQP2r2YXzxEBgFig4GBMjFkM/VX

点击中间区域
呼出菜单
上一章
目录
下一章
×