具体描述
内容简介:
本书围绕如何整合以目前最新的 Spring Boot 2 版本为核心的技术栈,来实现一个完整的企业级博客系统而展开。读者可以通过学习构建这个博客系统的整个过程,来达到设计和实现一个企业级 Java EE 应用开发的目的。该博客系统是一个类似于 WordPress 的专注于博客功能的博客平台,支持多用户访问和使用。该博客系统所涉及的相关技术有 Spring Boot、Spring、Spring MVC、Spring Security 、Spring Data、Hibernate、Gradle、Bootstrap、jQuery、HTML5、JavaScript、CSS、Thymeleaf、MySQL、H2、Elasticsearch、MongoDB 等,技术点较为丰富,内容富有前瞻性。
本书面向实战,除了给出基本的原理外,会辅以大量的案例和源码,利于读者理论联系实践。全书对于技术讲解的安排,是按照渐进式的教学方式来进行的。按照学习的难度,大致可以分为实战入门阶段、实战进阶阶段、实战高级阶段三个部分,内容包括Spring Boot 概述、Spring 框架核心概念、Spring MVC 及常用MediaType、集成 Thymeleaf、数据持久化、全文搜索、架构设计与分层、集成Bootstrap、博客系统的需求分析与设计、集成Spring Security、博客系统的整体框架实现、用户管理实现、角色管理实现、权限管理实现、文件服务器实现、博客管理实现、评论管理实现、点赞管理实现、分类管理实现、标签管理实现、首页搜索实现等。
本书主要面向的用户是 Java 开发者,以及对 Spring Boot 及企业级开发感兴趣并有一定了解的读者。
写作背景:
对于 Spring Boot 知识的整理归纳,最早是在笔者的第一本书《分布式系统常用技术及案例分析》 的微服务章节中,作为微服务的技术实现方式来展开的。由于篇幅限制,当时讲解的案例深度和广度也 比较有限。其后,笔者又在 GitHub 上,以开源方式撰写了《Spring Boot 教程》系列课程 ,为网友们提 供了更加丰富的使用案例。在 2017 年年初,笔者应邀给慕课网做了一个关于 Spring Boot 实战的系列视频课程 。视频课程上线后受到了广大的 Spring Boot 技术爱好者的关注,课程的内容也引发了热烈的反响。很多该课程的学员,通过学习该课程,不但技术能力提高了,而且在如何采用新技术来实现企业级应用上有了更深刻的理解,最重要的是提升了自己在市场上的价值。
鉴于 Spring Boot 技术人才在社会上的需求依然很旺盛,而市面上有关 Spring Boot 学习资料,大多 停留在“Hello World”级别的案例,缺乏使用 Spring Boot 来构建完整企业级应用实战的能力。故笔者将以往系列课程中的技术做了总结和归纳,采用目前最新的 Spring Boot 2 技术来重新编写了整个教学案例,整理成书,希望能够弥补 Spring Boot 在实战方面的空白,使广大 Spring Boot 爱好者都能受益。
作者简介
柳伟卫(waylau.com 站长),关注编程、系统架构、性能优化。
在大型IT公司担任过项目经理、架构师、高级开发顾问等职位,具有多年软件开发管理及系统架构经验。
负责过多个省级、国家级大型分布式系统的设计与研发,参与了多个大型项目的微服务架构的技术改造,在实际工作中积累了大量的微服务架构经验。
是CSDN、开源中国、云栖社区等技术社区专家。已出版专著《分布式系统常用技术及案例分析》、《Spring Boot 企业级应用开发实战》。
对技术抱有极大的热情,坚持每天学习,喜欢开源,乐于分享。已经为开源社区撰写了超过一打的开源技术书籍(https://waylau.com/books/)。
目录信息
1.1 传统企业级应用开发之痛与革新 .................................................................................... 2
1.2 Spring Boot 2 总览 ........................................................................................................ 11
1.3 快速开启第一个 Spring Boot 项目 ................................................................................. 16
1.4 如何进行 Spring Boot 项目的开发及测试 ...................................................................... 24
第2 章 Spring 框架核心概念..........................................................32
2.1 Spring 框架总览 ............................................................................................................ 33
2.2 依赖注入与控制反转 .................................................................................................... 37
2.3 AOP 编程 ...................................................................................................................... 46
第3 章 Spring MVC 及常用 MediaType.........................................52
3.1 Spring MVC 简介 .......................................................................................................... 53
3.2 JSON 类型的处理 ......................................................................................................... 56
3.3 XML 类型的处理 ........................................................................................................... 61
3.4 文件上传的处理 ............................................................................................................ 63
第4 章 集成 Thymeleaf................................................................67
4.1 常用 Java 模板引擎 ...................................................................................................... 68
4.2 Thymeleaf 标准方言 ...................................................................................................... 74
4.3 Thymeleaf 设置属性值 ................................................................................................... 84
4.4 Thymeleaf 迭代器与条件语句 ........................................................................................ 88
4.5 Thymeleaf 模板片段 ...................................................................................................... 92
4.6 Thymeleaf 表达式基本对象 ........................................................................................... 95
4.7 Thymeleaf 与 Spring Boot 集成 ...................................................................................... 97
4.8 Thymeleaf 实战 ............................................................................................................. 98
第5 章 数据持久化...................................................................... 107
5.1 JPA 概述 ..................................................................................................................... 108
5.2 Spring Data JPA .......................................................................................................... 127
5.3 Spring Data JPA 与 Hibernate、Spring Boot 集成 ......................................................... 143
5.4 数据持久化实战 .......................................................................................................... 147
第6 章 全文搜索......................................................................... 156
6.1 全文搜索概述 ............................................................................................................. 157
6.2 Elasticsearch 核心概念 ................................................................................................ 159
6.3 Elasticsearch 与 Spring Boot 集成 ................................................................................ 164
6.4 Elasticsearch 实战 ....................................................................................................... 168
第7 章 架构设计与分层................................................................ 175
7.1 为什么需要分层 .......................................................................................................... 176
7.2 系统的架构设计及职责划分 ........................................................................................ 179
第8 章 集成 Bootstrap............................................................... 182
8.1 Bootstrap 简介 ............................................................................................................ 183
8.2 Bootstrap 核心概念 ..................................................................................................... 185
8.3 Bootstrap 及常用前端框架与 Spring Boot 集成 ............................................................ 189
8.4 Bootstrap 实战 ............................................................................................................ 192
第9章 博客系统的需求分析与设计.................................................. 196
9.1 博客系统的需求分析 .................................................................................................. 197
9.2 博客系统的原型设计 .................................................................................................. 201
第10 章 集成 Spring Security..................................................... 206
10.1 基于角色的权限管理 ................................................................................................ 207
10.2 Spring Security 概述 .................................................................................................. 210
10.3 Spring Security 与 Spring Boot 集成 ........................................................................... 218
10.4 Spring Security 实战 .................................................................................................. 219
第11 章 博客系统的整体框架实现................................................... 227
11.1 如何设计 API............................................................................................................. 228
11.2 实现后台整体控制层 ................................................................................................ 233
11.3 实现前台整体布局 .................................................................................................... 237
第12 章 用户管理实现................................................................. 242
12.1 用户管理的需求回顾 ................................................................................................ 243
12.2 用户管理的后台实现 ................................................................................................ 245
12.3 用户管理的前台实现 ................................................................................................ 254
第13 章 角色管理实现................................................................. 264
13.1 角色管理的需求回顾 ................................................................................................ 265
13.2 角色管理的后台实现 ................................................................................................ 266
13.3 角色管理的前台实现 ................................................................................................ 272
第14 章 权限管理实现................................................................. 276
14.1 权限管理的需求回顾 ................................................................................................ 277
14.2 权限管理的后台实现 ................................................................................................ 278
14.3 CSRF 防护处理 ........................................................................................................ 281
14.4 权限管理的前台实现 ................................................................................................ 282
第15 章 文件服务器实现.............................................................. 285
15.1 文件服务器的需求分析 ............................................................................................. 286
15.2 MongoDB 简介 ......................................................................................................... 286
15.3 MongoDB 与 Spring Boot 集成 .................................................................................. 291
15.4 文件服务器的实现 .................................................................................................... 293
第16 章 博客管理实现................................................................. 303
16.1 博客管理的需求回顾 ................................................................................................ 304
16.2 实现个人设置和头像变更 ......................................................................................... 306
16.3 博客管理的后台实现 ................................................................................................ 316
16.4 博客管理的前台实现 ................................................................................................ 325
第17 章 评论管理实现................................................................. 337
17.1 评论管理的需求回顾 ................................................................................................ 338
17.2 评论管理的后台实现 ................................................................................................ 338
17.3 评论管理的前台实现 ................................................................................................ 346
第18 章 点赞管理实现................................................................. 350
18.1 点赞管理的需求回顾 ................................................................................................ 351
18.2 点赞管理的后台实现 ................................................................................................ 351
18.3 点赞管理的前台实现 ................................................................................................ 358
第19 章 分类管理实现................................................................. 362
19.1 分类管理的需求回顾 ................................................................................................ 363
19.2 分类管理的后台实现 ................................................................................................ 364
19.3 分类管理的前台实现 ................................................................................................ 372
第20 章 标签管理实现................................................................. 380
20.1 标签管理的需求回顾 ................................................................................................ 381
20.2 标签管理的后台实现 ................................................................................................ 381
20.3 标签管理的前台实现 ................................................................................................ 383
第21 章 首页搜索实现................................................................. 385
21.1 首页搜索的需求回顾 ................................................................................................ 386
21.2 首页搜索的后台实现 ................................................................................................ 387
21.3 首页搜索的前台实现 ................................................................................................ 399
21.4 使用中文分词 ........................................................................................................... 405
第22 章 总结与展望.................................................................... 408
22.1 Spring Boot 企业级应用开发的总结 .......................................................................... 409
22.2 博客系统的展望 ........................................................................................................ 412
附录A 开发环境的搭建............................................................................................................. 414
附录B Thymeleaf 属性 .............................................................................................................. 418
附录C Thymeleaf 表达式工具对象 ............................................................................................ 420
附录D Bean Validation 内置约束 ............................................................................................... 438
附录E 本书所涉及的技术及相关版本 ....................................................................................... 440
参考文献 ..................................................................................................................................... 442
· · · · · · (收起)
读后感
《Spring Boot 企业级应用开发实战》这本书与目前市面上其他 Spring Boot 书籍有很大的不同点。我最近正好需要,其中的专业性的理论与实战相互结合,让你更快速的能够实现一个企业级项目的开发。书籍中大量案例让我能快速的将一些原理熟练运用;每个步骤都详细列出,即使初学者...
《Spring Boot 企业级应用开发实战》这本书与目前市面上其他 Spring Boot 书籍有很大的不同点。我最近正好需要,其中的专业性的理论与实战相互结合,让你更快速的能够实现一个企业级项目的开发。书籍中大量案例让我能快速的将一些原理熟练运用;每个步骤都详细列出,即使初学者...
《Spring Boot 企业级应用开发实战》这本书与目前市面上其他 Spring Boot 书籍有很大的不同点。我最近正好需要,其中的专业性的理论与实战相互结合,让你更快速的能够实现一个企业级项目的开发。书籍中大量案例让我能快速的将一些原理熟练运用;每个步骤都详细列出,即使初学者...
《Spring Boot 企业级应用开发实战》这本书与目前市面上其他 Spring Boot 书籍有很大的不同点。我最近正好需要,其中的专业性的理论与实战相互结合,让你更快速的能够实现一个企业级项目的开发。书籍中大量案例让我能快速的将一些原理熟练运用;每个步骤都详细列出,即使初学者...
《Spring Boot 企业级应用开发实战》这本书与目前市面上其他 Spring Boot 书籍有很大的不同点。我最近正好需要,其中的专业性的理论与实战相互结合,让你更快速的能够实现一个企业级项目的开发。书籍中大量案例让我能快速的将一些原理熟练运用;每个步骤都详细列出,即使初学者...
用户评价
这本书绝对是技术学习路上的里程碑,我是在一个朋友的强烈推荐下接触到它的,一开始我对市面上那些技术书籍都有点审美疲劳了,感觉不是内容太浅显,就是过于偏重理论而忽略了实操。但这本书完全不同,它没有那种故作高深的架子,而是非常务实地从企业级应用开发的核心痛点出发,娓娓道来。最让我印象深刻的是它在项目架构设计上的讲解,不是那种生搬硬套的“最佳实践”,而是结合实际业务场景,教你如何权衡利弊,做出最适合当前情况的决策。特别是关于微服务拆分和数据一致性处理那几章,作者用非常生动的案例,把原本抽象的概念具象化了,读起来一点也不枯燥。而且,书中的代码示例质量极高,结构清晰,注释到位,读完一遍后,我立刻就能在自己的项目中进行模仿和实践,这种即学即用的体验,在其他书中是很少见的。它不仅仅是一本技术手册,更像是一位经验丰富的架构师手把手的指导,让我对“企业级”这个词有了更深刻的理解,不再是空洞的口号,而是实实在在的工程能力。
对于那些寻求从初级向中级甚至高级迈进的工程师来说,这本书提供了一条清晰的、经过验证的路径。它不仅仅是教你如何实现功能,更重要的是培养你的系统思维能力。例如,书中关于数据库访问性能优化和连接池管理的章节,不只是介绍了几个配置参数,而是深入剖析了这些参数背后的性能瓶颈所在,指导读者如何通过监控数据来指导调优,而不是盲目修改。这种“知其然,更知其所以然”的知识结构,对我建立自己的技术判断标准起到了决定性的作用。读完这本书后,我在参与架构评审会议时,发言的深度和广度都有了明显的提高,能够从资源消耗、可扩展性、容错能力等多个维度去审视一个设计方案。可以说,这本书成功地将零散的知识点编织成了一个完整的、具有工程美感的知识体系,是近几年我阅读过的最有分量的技术书籍之一。
坦白说,我是一个比较注重开发效率的人,工具链的成熟度直接影响我的工作心情。这本书对周边生态工具的整合和最佳实践的梳理,简直是为我量身定做。它不仅仅讲了Spring Boot本身,更把现代企业开发中必备的组件,比如消息队列(Kafka/RabbitMQ)、缓存(Redis)、服务治理(如Sentinel/Eureka)等,都以一种“无缝集成”的方式串联了起来。最让我惊喜的是,它对DevOps流程的思考也融入到了代码实践中,讲解了如何配合CI/CD流水线进行高效部署和监控。这种“大局观”的培养非常关键,让开发者明白代码写完不是终点,如何稳定、快速地交付到生产环境才是王道。我立刻采纳了书中关于配置中心管理和链路追踪的方案,项目的运维复杂度显著下降,团队的协作效率也得到了提升。这本书的价值在于它提供了一套完整的、可落地的现代应用交付蓝图。
这本书的叙事风格非常接地气,没有那种高高在上的学术腔调,读起来感觉就像在和一位耐心细致的前辈交流。它在讲解复杂技术点时,善于运用类比和对比,比如在解释事务传播行为时,引用了几个贴近生活的例子,一下子就把那些拗口的术语给“驯服”了。我尤其喜欢它在处理“异常处理与健壮性设计”这一块的讨论。作者没有简单地推荐使用全局异常处理器,而是详细分析了不同业务场景下,应该如何设计错误码体系、如何记录有价值的日志,以及如何在不影响主流程的前提下优雅地处理错误。这体现了作者对软件质量的深层次思考,远超出了普通教程的范畴。正是这种对细节的精雕细琢和对实战经验的倾囊相授,让这本书的阅读体验非常流畅,我几乎没有遇到需要反复查阅资料来理解某个概念的瓶颈。
我是一个对技术细节有“偏执”追求的开发者,过去经常因为一些框架的“黑箱”操作而感到抓狂,总想知道底层到底是怎么运作的。这本书在这方面给了我极大的满足感。它没有止步于停留在API层面的调用,而是深入到了Spring Boot核心自动配置的原理之中。比如,它对Starter机制的解析,简直是一次彻底的“解剖”,把依赖管理、自动装配的整个生命周期都扒了个底朝天。我之前花了好久才勉强弄明白的某些AOP切面织入的细节,在这本书里被阐述得逻辑严密,让人茅塞顿开。这种深度挖掘带来的成就感是无与伦比的。对于想从“会用”晋升到“精通”的工程师来说,这本书提供了绝佳的视角,它教会你如何透过现象看本质,理解框架设计者的意图。读完后,我感觉自己对整个Spring生态的掌控力又提升了一个层次,处理那些棘手的运行时问题时,心里更有底气了。
适合快速熟悉 Spring boot
真的很差 helloworld级别水平
为什么我觉得作者有点不会说人话。有时候看到某个章节,我已经知道作者想讲什么了。但是他的文字却总是让人不知所云昏昏欲睡。
不错的spring boot 教程
如果了解一点点的spring-boot,这本书用来熟悉练手是非常不错的,定位就是在这里。对很多技术的整合都在里面,能接触到很多东西,拿来梳理一遍可以对项目搭建有个整体的认知。