首页>参考读物>计算机科学与技术>软件与程序设计

深入实践Spring Boot
作者 : 陈韶健  著
出版日期 : 2016-11-04
ISBN : 978-7-111-55088-4
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 274
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书以丰富的实例,介绍了如何使用Spring Boot开发框架进行基础应用和分布式应用等方面的开发,以及如何使用Spring Boot开发的应用构建高性能的服务平台,同时还对Spring Boot的一些核心代码进行了深入剖析。本书从最基本的入门,到数据库的使用,以及界面设计、安全设计等领域都做了详细的介绍和探讨。并在分布式应用系统领域,以平台级应用系统的实例,介绍了如何创建和使用SSO管理系统、分布式文件系统,以及如何使用Spring Cloud进行云应用方面的开发,和如何使用Docker发布和构建高可用的分布式系统服务平台。同时,对Spring Boot的程序加载、自动配置、数据管理,和Spring Cloud的服务发现、负载均衡等核心源代码做了深入剖析,在认识其原理的前提中,更好地使用其相应的功能。
全书分为三个部分,第一部分介绍基础应用方面的开发,包含从简单入门到数据库使用,界面设计和安全设计等内容。第二部分介绍了Spring Boot在分布式系统开发和云应用开发等方面的应用以及使用云应用构建高可用的服务平台。第三部分对Spring Boot程序加载、自动配置和数据管理功能的实现,以及Spring Cloud的服务发布和负载均衡实现原理等核心代码进行深入的剖析。
第1章为Spring Boot入门,介绍开发环境的初始搭建和开发工具的选择及安装配置,并使用一个非常简单的实例,说明如何轻易地使用Spring Boot开发框架。
第2章使用Spring Boot框架演示了以不同于以往的方式,以及如何轻易地使用数据库,并实际演示使用了MySQL、MongoDB、Redis和Neo4j等数据库。
第3章使用Thymeleaf和结合流行的一些JavaScript插件介绍了使用Spring Boot进行界面设计的方法和技巧。
第4章介绍使用Spring Boot为使用传统关系型数据库在如何提高性能方面作了一些探讨和尝试,并扩展了使用JPA资源库的功能
第5章介绍了使用Spring Boot怎样结合Spring Security进行安全设计,包括登录认证和角色管理、权限管理等内容。
第6章介绍如何使用Spring Security和OAuth2进行SSO(Single Sign On)的设计,并演示如何在分布式应用系统中使用认证授权和安全管理的功能。
第7章使用Spring Boot框架结合使用分布式文件系统FastDFS,并使用定制方式和富文本编辑器的方式演示了如何使用图片上传和建立本地图片库的方法。
第8章使用Spring Cloud云计算工具集,介绍了如何建立高可用的分布式应用系统平台,并演示了服务发现、配置管理和监控服务器的使用,以及如何使用路由方式结合断路器的功能创建高可用的和具有自我修复型的系统平台。
第9章使用Docker工具和docker-compose工具来发布应用和管理服务,以及介绍如何构建一个高性能的服务平台和怎样使用Docker实施负载均衡。
第10章分析了Spring Boot的应用加载和自动配置原理,以及如何使用自定义配置来提高一个应用的性能。
第11章分析了Spring Boot的数据库使用实现原理,并怎样利用一些技术手段提高和扩展使用数据库管理的功能。
第12章简要分析了Spring cloud工具集中服务发现和负载均衡的核心代码及其实现原理。
附录A——D,介绍了Neo4j、MongoDB、Redis、RabbitMQ等服务器的安装、配置,和基本的使用。

图书特色

超过15年IT行业从业经验的Spring Boot专家撰写,系统讲解Spring Boot的各项关键技术
结合实际生产环境讲解Spring Boot分布式应用开发及高性能服务平台搭建
深入剖析Spring Boot核心功能的源码实现

简单易用的Spring Boot,无疑是Java开发初学者的指路明灯,同时也是资深Java开发者的得力助手。快速开发是研发Spring Boot的初衷,这不但是一个开发团队的终生追求,也是一个企业解放生产力、提高生产效率的保障。
Spring Boot的组件化整合规则,完美地整合了云应用开发工具,使其在云计算领域中处于领先地位,为创建高可用和高性能的服务提供了更加简便和快捷的方法。
Spring Boot是从Spring框架发展起来的,所以对于使用Spring框架的庞大用户群体来说,随着Spring Boot的普及使用,将使众多开发者成为它的拥趸。
本书以丰富而又切合生产实际的实例,通过循序渐进的方式以及通俗易懂的语言描述,引领你全面而深入地掌握Spring Boot这一开发框架的使用方法,使你在愉悦地体验一种前所未有的开发实践之后,将所学快速地融入到实际应用之中。


本书是Spring Boot领域的经典著作,从技术、实践和原理3个维度对Spring Boot进行了系统且深入的讲解。作者是Spring Boot领域的资深专家,有超过15年的IT行业从业经验。
技术维度
第一部分(1~5章),针对性地介绍了Spring Boot入门、数据库的使用和访问性能提升、界面设计、安全设计等重要技术知识,以实用性为主,旨在帮助读者快速掌握Spring Boot开发方法和精髓,尽快融入生产实践中。
实践维度
第二部分(6~9章),用生产环境中的实际案例讲解了如何使用Spring Boot开发分布式应用和云应用,以及如何用微服务构建高可用的服务平台,实践性极强。
原理维度
第三部分(10~12章),从源码层面着重分析了Spring Boot的程序加载、自动配置、数据管理、Spring Cloud的配置管理、发现服务和负载均衡服务等核心功能的实现原理,旨在帮助读者能更深刻地理解Spring Boot开发,掌握其精髓。


陈韶健(Chen Shaojian)
华阳通信技术总监,有超过15年的IT行业从业经验。从普通的程序开发到系统分析、架构设计,从服务器的组建、维护到系统性能的优化和安全策略实施等,都积累了相当丰富的实践经验。
尤其擅长Java和C#技术,有着深入的实践经验。在数据库使用和分布式应用系统的开发和实施方面也有深入的研究和探讨,并取得了丰硕的成果。
利用Spring Boot进行了大量的项目实践,对其有深入的理解。

图书前言

Spring Boot作为Java编程语言的一个全新开发框架,在国内外才刚刚兴起,还未得到普及使用。相比于以往的一些开发框架,Spring Boot不但使用更加简单,而且功能更加丰富,性能更加稳定而健壮。使用Spring Boot开发框架,不仅能提高开发速度,增强生产效率,从某种意义上,可以说是解放了程序员的劳动,而且一种新技术的使用,更能增强系统的稳定性和扩展系统的性能指标。本书就是本着提高开发效率,增强系统性能,促进新技术的普及使用这一目的而写的。
Spring Boot是在Spring框架基础上创建的一个全新框架,其设计目的是简化Spring应用的搭建和开发过程,它不但具有Spring的所有优秀特性,而且具有如下显著的特点:
为Spring开发提供更加简单的使用和快速开发的技巧。
具有开箱即用的默认配置功能,能根据项目依赖自动配置。
具有功能更加强大的服务体系,包括嵌入式服务、安全、性能指标、健康检查等。
绝对没有代码生成,可以不再需要XML配置,即可让应用更加轻巧和灵活。
Spring Boot对于一些第三方技术的使用,提供了非常完美的整合,使你在简单的使用中,不知不觉运用了非常高级和先进的技术。
虽然Spring Boot具有这么多优秀的特性,但它使用起来并不复杂,而且非常简单,所以不管是Java程序开发初学者,还是经验丰富的开发人员,使用Spring Boot都是一个理想的选择。
Spring Boot发展迅速,自从2014年4月发布了1.0.0版本,至今已经发布了1.4.0正式版。现在,Spring Boot正在不同的角落中悄然兴起,估计用不了多久,它将成为Java开发的又一个热潮,为众多Java开发者追捧。
本书将以一些非常切合生产实际的应用实例,带你一起使用Spring Boot框架,开始一段愉快的快速开发和探索之旅。
关于本书
本书以丰富的实例,介绍了如何使用Spring Boot开发框架进行基础应用和分布式应用等方面的开发,并且介绍了如何使用Spring Boot开发的应用搭建一个高性能的服务平台,同时还对Spring Boot的一些核心功能的源代码进行了分析,从而加深对Spring Boot的理解。书中对从最基本的入门知识,到数据库的使用,以及界面设计、安全设计等领域都做了详细的介绍和探讨,并在分布式应用系统领域,以平台级应用系统的实例,介绍了如何创建和使用SSO管理系统、分布式文件系统,如何使用Spring Cloud进行云应用方面的开发,以及如何使用Docker发布和构建高可用的分布式系统服务平台。同时,对Spring Boot的程序加载、自动配置、数据管理,和Spring Cloud的配置管理、发现服务和负载均衡服务等核心功能的源代码做了深入剖析,这样在认识其实现原理的基础上,能更好地使用其相应的功能。
全书分为三个部分:第一部分(第1~5章)介绍基础应用方面的开发,包含简单入门知识、数据库使用、界面设计和安全设计等内容;第二部分(第6~9章)介绍了Spring Boot在分布式系统开发和云应用开发等方面的应用以及使用微服务构建高可用的服务平台;第三部分(第10~12章)对Spring Boot的程序加载、自动配置和数据管理的实现原理,以及Spring Cloud的配置管理、发现服务和负载均衡服务等实现原理进行了深入的剖析。
本书章节编排
第1章为Spring Boot入门,介绍开发环境的搭建和开发工具的选择及安装配置,并使用一个非常简单的实例,说明如何轻易地使用Spring Boot开发框架。
第2章使用Spring Boot框架演示了以不同于以往的方式,以及如何轻易地使用数据库,并实际演示使用MySQL、MongoDB、Redis和Neo4j等数据库。
第3章使用Thymeleaf模板结合一些流行的JavaScript插件,介绍了使用Spring Boot进行界面设计的方法和技巧。
第4章对使用Spring Boot提高传统关系型数据库的性能方面做了一些探讨和尝试,并扩展了使用JPA资源库的功能。
第5章介绍了如何使用Spring Boot结合Spring Security进行安全设计,包括登录认证和角色管理、权限管理等内容。
第6章介绍如何使用Spring Security结合OAuth2进行SSO(Single Sign On)的设计,并演示如何在分布式应用系统中使用认证授权和安全管理的功能。
第7章介绍如何使用Spring Boot框架结合分布式文件系统FastDFS,并使用定制方式和富文本编辑器的方式演示了使用图片上传和建立本地图片库的方法。
第8章介绍云应用开发,包括配置管理、发现服务和监控服务的使用,以及如何使用动态路由和断路器的功能,创建高可用的微服务应用。
第9章介绍如何使用Docker引擎和docker-compose工具来发布应用和管理服务,以及如何构建一个高性能的服务平台和怎样使用Docker实施负载均衡。
第10章分析了Spring Boot的应用程序加载和自动配置原理,以及如何以改造加载配置的方式来提高应用的性能。
第11章分析了Spring Boot使用数据库的实现原理,并演示怎样利用一些技术手段提高和扩展访问数据库的功能。
第12章简要分析了微服务中配置管理、发现服务和负载均衡服务的实现原理和部分核心源代码,并使用一个实例说明配置管理中分布式消息的实现机制和原理。
附录A~附录D介绍了Neo4j、MongoDB、Redis、RabbitMQ等服务器的安装、配置和基本使用方法。
读者对象
本书适于所有Java编程语言开发人员,所有对Spring Boot感兴趣并希望使用Spring Boot开发框架进行开发的人员,已经使用过Spring Boot框架但希望更好地使用Spring Boot的开发人员,以及系统设计师、架构师等设计人员。同时,本书对运维人员和DBA等也具有一定的参考价值。
实例代码
本书的实例代码可以通过https://github.com/chenfromsz tab=repositories查看和下载,推荐根据每章的提示使用IntelliJ IDEA通过GitHub检出各章的实例工程,这样可以保留原来工程的配置,并且能够直接使用。
反馈与勘误
读者如有反馈意见可以通过https://github.com/chenfromsz/correct/issues发起新话题与作者进行交互,在这也可能会发布一些勘误信息,以便纠正不可避免的错误。
致谢
首先,非常感谢华阳信通公司,虽然本书的编写过程大都在业余时间完成,但是公司强大的平台给本书的实例提供了更加方便的分享、验证和测试条件。同时在本书的编写过程中,也得到了我们的开发团队和众多朋友的大力支持和帮助,在此表示衷心的感谢!最后感谢机械工业出版社华章分社的杨福川和李艺,他们在本书编辑的过程中,提出了一些宝贵而有益的建议,并为本书的出版做了许多工作。
由于时间仓促和水平有限,书中难免出现一些纰漏或不正确的地方,敬请大家批评指正!

上架指导

计算机\程序设计

封底文字

英文名:Deep into Spring Boot

简单易用的Spring Boot,无疑是Java开发初学者的指路明灯,同时也是资深Java开发者的得力助手。快速开发是研发Spring Boot的初衷,这不但是一个开发团队的终生追求,也是一个企业解放生产力、提高生产效率的保障。

Spring Boot的组件化整合规则,完美地整合了云应用开发工具,使它在云计算领域中处于领先地位,它在创建高可用和高性能的服务中,提供了更加简便和快捷的方法。

Spring Boot是从Spring框架发展起来的,所以对于使用Spring框架的庞大用户群体来说,随着Spring Boot的普及使用,将使众多开发者成为它的拥趸。

本书以丰富而又切合生产实际的实例,通过循序渐进的方式以及通俗易懂的语言描述,引领你全面而深入地掌握Spring Boot这一开发框架的使用方法,使你在愉悦地体验一种前所未有的开发实践之后,将所学快速地融入到实际应用之中。

作者简介

陈韶健  著:暂无简介

图书目录

前 言
第一部分 基础应用开发
第1章 Spring Boot入门 3
1.1 配置开发环境 3
1.1.1 安装JDK 3
1.1.2 安装InterlliJ IDEA 4
1.1.3 安装Apache Maven 4
1.1.4 安装Git客户端 5
1.2 创建项目工程 8
1.2.1 使用Maven新建项目 8
1.2.2 使用Spring Initializr新建项目 11
1.3 使用Spring Boot 14
1.3.1 Maven依赖管理 14
1.3.2 一个简单的实例 17
1.4 运行与发布 18
1.4.1 在IDEA环境中运行 18
1.4.2 将应用打包发布 19
1.5 关于Spring Boot配置 22
1.6 小结 23
第2章 在Spring Boot中使用数据库 24
2.1 使用MySQL 24
2.1.1 MySQL依赖配置 25
2.1.2 实体建模 25
2.1.3 实体持久化 27
2.1.4 MySQL测试 29
2.2 使用Redis 33
2.2.1 Redis依赖配置 33
2.2.2 创建Redis服务类 34
2.2.3 Redis测试 36
2.3 使用MongoDB 38
2.3.1 MongoDB依赖配置 38
2.3.2 文档建模 39
2.3.3 文档持久化 40
2.3.4 MongoDB测试 41
2.4 使用Neo4j 43
2.4.1 Neo4j依赖配置 43
2.4.2 节点和关系实体建模 43
2.4.3 节点实体持久化 45
2.4.4 Neo4j测试 46
2.5 小结 49
第3章 Spring Boot界面设计 50
3.1 模型设计 50
3.1.1 节点实体建模 51
3.1.2 关系实体建模 51
3.1.3 分页查询设计 52
3.2 控制器设计 53
3.2.1 新建控制器 53
3.2.2 查看控制器 53
3.2.3 修改控制器 54
3.2.4 删除控制器 55
3.2.5 分页查询控制器 55
3.3 使用Thymeleaf模板 56
3.3.1 Thymeleaf配置 56
3.3.2 Thymeleaf功能简介 57
3.4 视图设计 60
3.4.1 列表视图设计 60
3.4.2 新建视图设计 64
3.4.3 查看视图设计 68
3.4.4 修改视图设计 70
3.4.5 删除视图设计 72
3.5 运行与发布 73
3.6 小结 74
第4章 提高数据库访问性能 75
4.1 使用Druid 75
4.1.1 配置Druid依赖 76
4.1.2 关于XML配置 76
4.1.3 Druid数据源配置 77
4.1.4 开启监控功能 78
4.2 扩展JPA功能 80
4.2.1 扩展JPA接口 81
4.2.2 装配自定义的扩展接口 83
4.2.3 使用扩展接口 85
4.3 使用Redis做缓存 86
4.3.1 使用Spring Cache注解 86
4.3.2 使用RedisTemplate 88
4.4 Web应用模块 91
4.4.1 引用数据管理模块 91
4.4.2 Web应用配置 92
4.5 运行与发布 94
4.6 小结 95
第5章 Spring Boot安全设计 96
5.1 依赖配置管理 96
5.2 安全策略配置 97
5.2.1 权限管理规则 98
5.2.2 登录成功处理器 99
5.2.3 防攻击策略 100
5.2.4 记住登录状态 102
5.3 登录认证设计 103
5.3.1 用户实体建模 103
5.3.2 用户身份验证 104
5.3.3 登录界面设计 106
5.3.4 验证码验证 108
5.4 权限管理设计 109
5.4.1 权限管理配置 109
5.4.2 权限管理过滤器 110
5.4.3 权限配置资源管理器 111
5.4.4 权限管理决断器 112
5.5 根据权限设置链接 113
5.6 运行与发布 116
5.6.1 系统初始化 116
5.6.2 系统运行与发布 118
5.7 小结 119
第二部分 分布式应用开发
第6章 Spring Boot SSO 123
6.1 模块化设计 123
6.2 登录认证模块 124
6.2.1 使用OAuth2 124
6.2.2 创建数字证书 125
6.2.3 认证服务端配置 125
6.3 安全配置模块 128
6.4 SSO客户端 129
6.4.1 客户端配置 129
6.4.2 登录登出设计 130
6.5 共享资源服务 132
6.5.1 提供共享资源接口 133
6.5.2 使用共享资源 134
6.5.3 查询登录用户的详细信息 135
6.6 运行与发布 136
6.7 小结 138
第7章 使用分布式文件系统 139
7.1 FastDFS安装 139
7.1.1 下载安装包 141
7.1.2 安装服务 141
7.1.3 Tracker Server配置 142
7.1.4 Storage Server配置 145
7.1.5 启动服务 148
7.1.6 客户端测试 148
7.2 FastFDS客户端 149
7.2.1 客户端配置 150
7.2.2 客户端服务类 150
7.3 使用定制方式上传图片 151
7.3.1 实体建模 151
7.3.2 上传图片 152
7.4 使用富文本编辑器上传图片 156
7.4.1 使用富文本编辑器 156
7.4.2 实现文件上传 157
7.5 使用本地文件库 158
7.5.1 本地文件库建模 159
7.5.2 文件保存方法 159
7.5.3 文件库管理 161
7.6 运行与发布 163
7.7 小结 164
第8章 云应用开发 165
8.1 使用配置管理 166
8.1.1 创建配置管理服务器 167
8.1.2 使用配置管理的客户端 168
8.1.3 实现在线更新 171
8.1.4 更新所有客户端的配置 172
8.2 使用发现服务 174
8.2.1 创建发现服务器 174
8.2.2 使用发现服务的客户端配置 175
8.2.3 发现服务器测试 175
8.3 使用动态路由和断路器 176
8.3.1 依赖配置 176
8.3.2 共享REST资源 177
8.3.3 通过路由访问REST资源 180
8.3.4 使用断路器功能 182
8.3.5 路由器和断路器测试 183
8.4 使用监控服务 184
8.4.1 创建监控服务器 184
8.4.2 监控服务器测试 185
8.5 运行与发布 187
8.6 小结 187
第9章 构建高性能的服务平台 188
9.1 使用Docker 188
9.1.1 Docker安装 189
9.1.2 Docker常用指令 190
9.1.3 使用Docker发布服务 191
9.2 创建和管理一个高性能的服务体系 194
9.2.1 安装docker-compose 194
9.2.2 docker-compose常用指令 195
9.2.3 使用docker-compose管理服务 195
9.3 使用Docker的其他负载均衡实施方法 199
9.3.1 使用Nginx与Docker构建负载均衡服务 199
9.3.2 阿里云的负载均衡设计实例 199
9.4 小结 201
第三部分 核心技术源代码分析
第10章 Spring Boot自动配置实现原理 205
10.1 Spring Boot主程序的功能 205
10.1.1 SpringApplication的run方法 206
10.1.2 创建应用上下文 207
10.1.3 自动加载 208
10.2 Spring Boot自动配置原理 209
10.2.1 自动配置的即插即用原理 210
10.2.2 自动配置的约定优先原理 211
10.3 提升应用的性能 211
10.3.1 更改加载配置的方式 212
10.3.2 将Tomcat换成Jetty 214
10.4 性能对照测试 215
10.5 小结 217
第11章 Spring Boot数据访问实现原理 218
11.1 连接数据源的源代码分析 218
11.1.1 数据源类型和驱动 219
11.1.2 支持的数据库种类 220
11.1.3 与数据库服务器建立连接 221
11.2 数据存取功能实现原理 222
11.2.1 实体建模源代码分析 222
11.2.2 持久化实现原理 225
11.3 扩展数据存取的功能 227
11.3.1 扩展JPA功能 227
11.3.2 扩展Neo4j功能 228
11.4 小结 230
第12章 微服务核心技术实现原理 231
12.1 配置管理实现原理 232
12.1.1 在线更新流程 232
12.1.2 更新消息的分发原理 233
12.2 发现服务源代码剖析 235
12.2.1 服务端的服务注册功能 236
12.2.2 客户端注册和提取服务列表 238
12.3 负载均衡源代码剖析 240
12.4 分布式消息实现原理演示 244
12.4.1 消息生产者 244
12.4.2 消息消费者 245
12.5 小结 247
附录A 安装Neo4j 248
附录B 安装MongoDB 251
附录C 安装Redis 253
附录D 安装RabbitMQ 256
结束语 262

教学资源推荐
作者: 邱李华,曹青,郭志强
作者: [美]托尼·加迪斯(Tony Gaddis)著
作者: [美]H. H. 塔恩(H.H.Tan),T. B. 多拉齐奥(T.B.D'Orazio)[香港]柯兆恒(S. H. Or),玛丽安 M. Y. 周(Marian M. Y. Choy) 著
作者: 顾治华 陈天煌 孙珊珊 编著
参考读物推荐
作者: [加]丹尼尔·兹布里夫斯基(Danil Zburivsky),[加]琳达·帕特纳(Lynda Partner) 著
作者: 李松涛 魏巍 甘捷 著