Spring Boot实战:从0开始动手搭建企业级项目
  • 推荐0
  • 收藏2
  • 浏览1.1K

Spring Boot实战:从0开始动手搭建企业级项目

韩帅 (作者)  陈林 (责任编辑)

  • 书  号:978-7-121-41424-4
  • 出版日期:2021-07-08
  • 页  数:728
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:陈林
纸质版 ¥138.00
本书首先从Spring Boot基础知识部分讲起,涉及学习方法、技术趋势、开发环境和基础实践;然后是进阶应用部分,涉及核心源码、自动配置、模板引擎、数据库等分析,以及分页功能、文件上传、验证码等功能的编码实现;最后是实战开发部分,即从0开始动手搭建一个企业级的商城项目,涉及后台管理系统和前端页面所有功能模块的技术开发。

本书重在引导读者进入真实的项目开发体验,围绕Spring Boot技术栈全面展开,兼顾相关技术的知识拓展,由浅入深,步步为营,使读者既能学习基础知识,又能掌握一定的开发技巧。本书的目标是让读者拥有一个完整且高质量的学习体验,远离“Hello World项目”,为技术深度的挖掘和薪水、职位的提升提供保障。
SpringBoot企业级大型实践项目,源自真实应用案例,远离“HelloWorld项目”,为技术深度的挖掘和职位的提升提供保障。
韩帅(十三)

企业技术主管、掘金优秀作者、CSDN博客专家、专栏作者、视频讲师。

GitHub开源项目newbee-mall系列的主理人,多年一线开发经验,历任高级开发工程师、后端主程、技术部门主管等职位。熟练使用Java、SQL、Spring Boot、Vue等计算机语言和开发框架,有非常丰富的开发经验,同时也是开源项目的爱好者和贡献者。
自 序


大家好,我是韩帅,也是程序员十三。
非常感谢你阅读本书,在技术道路上,从此我们不再独行。
1. 写作背景
2017年2月24日,笔者正式开启技术写作之路,同时也开始在GitHub网站上做开源项目,由于一直坚持更新文章和开源项目,慢慢被越来越多的人所熟悉。
从2018年开始,有不少出版社的编辑向笔者邀约写书。2018年6月7日,电子工业出版社的陈林编辑通过邮件联系笔者并邀请笔者写书。从此,笔者与电子工业出版社结缘。
对于图书写作的邀约,一开始笔者都会婉拒,因为笔者对自己有比较清楚的认知。博客文章的写作要求相较于图书出版的要求还是有很大差别的,笔者觉得当时的可行性太低,于是逐一拒绝了出书的邀约。可是邀约多了,心态也有了改变。就像当初写第一篇博客抱着“试一试”的心态,笔者慢慢也有了“试一试”写书的念头。
生活中总有意外的惊喜。
2018年,笔者也被不同的平台邀请制作付费专栏和课程。自2018年9月开始,笔者陆陆续续在CSDN图文课、实验楼、蓝桥云课、掘金小册、极客时间等平台上线了多个付费专栏和课程。其中,与Spring Boot技术栈相关的付费专栏就有7个。同时,笔者也会将付费专栏中的实战项目开源到GitHub和Gitee两个开源代码平台上。本书中的实战项目newbee-mall新蜂商城也是在这段时期内开发的,并于2019年开源。
基于这些开源项目的维护经验和多个付费专栏的制作经验,笔者逐渐觉得自己已经有能力完成一本技术书的写作,并且做到言之有物了。所以,笔者打定主意要写一本实体技术书。这也是一个开发者长久以来的梦想。于是笔者与陈林编辑联系并沟通了写作事宜,签订了图书出版合同。笔者写作的初衷就是希望自己把对Spring Boot技术栈的理解及实战项目开发的经验分享给读者。
笔者过去几年的经历可以整理成一张图,“免费文章→付费专栏→付费视频→实体书”,从0到1,从无到有,都是一步一步走过来的。这些也是笔者的写作背景。

如果本书能够帮助读者学会Spring Boot并且用Spring Boot开发一些实际项目,那么笔者就非常满足了,这一次的写作也变得意义非凡。另外,笔者也在开始整理第二本书的底稿,内容是关于Spring Boot + Vue3前后端分离的实战项目开发。项目预览图如下所示。


2. 你会学到什么
本书的代码基于Spring Boot 2.3.7-RELEASE版本。笔者用25章全面深入地讲解Spring Boot技术栈的技术原理、功能点开发和项目实战。
工欲善其事,必先利其器。本书注重基础环境的搭建和开发工具的使用,以帮助读者少走弯路,快速掌握Spring Boot项目的开发技能。
读者学习本书,会有以下收获。
? Spring Boot技术栈的基础使用和开发技巧
? Spring Boot的进阶知识,自动配置特性的源码解读
? Spring Boot项目的实战开发
? 为在校学生的毕业设计提供思路
? Thymeleaf模板引擎的整合及运用
? AdminLTE3、Bootstrap4、SweetAlert、JqGrid、JQuery等前端框架组件及控件的使用
? Spring Boot企业级商城项目的全流程开发实践
? 大型技术项目的开发、设计和统筹
3. 适宜人群
本书定位Spring Boot项目的实战和进阶,资深开发人员可按需要选择对应章节阅读。为了照顾初学者,本书也设置了入门章节。以下读者非常适合学习本书。
? 从事Java Web开发的技术人员
? 对Spring Boot感兴趣、想要改变原有开发模式的开发人员
? 希望将Spring Boot技术实际运用到项目中的开发人员
? 需要使用Spring Boot进行完整项目学习的开发人员
? 想要独立完成一个Java Web项目的开发人员
? 需要大型商城项目实践的开发人员
? 想要将自己的项目上线到互联网的开发人员
4. 源码
本书每个实战章节都会有对应的源码并提供下载,读者可以在本书封底扫码获取。
最终的实战项目是笔者的开源项目newbee-mall,源码在开源网站GitHub和Gitee上都能搜索并下载到最新的源码。
? github.com/newbee-ltd/newbee-mall
? gitee.com/newbee-ltd/newbee-mall
5. 致谢
感谢本书编辑陈林老师。从第一封邮件开始,他就展现了出版社编辑的专业性和耐心。在写作中,陈老师对本书的内容脉络做了非常多的指导工作,也给予笔者非常多的帮助和鼓励。在书稿整理完成后,陈老师不断调整和优化稿件中的内容,以确保图书质量。感谢电子工业出版社的美术编辑李玲和其他老师,本书能够顺利出版离不开他们的奉献,感谢他们辛苦、严谨的工作。
感谢newbee-mall开源仓库的各位用户及笔者专栏文章的所有读者。他们提供了非常多的修改和优化意见,使Spring Boot商城项目变得更加完善,也为笔者提供了持续写作的动力。
感谢掘金社区及其运营负责人优弧和运营人员Captain。本书大部分内容是对掘金小册《Spring Boot大型线上商城项目实战教程》的系统化升级和优化,本书能顺利出版也得到了掘金社区的大力支持。
特别感谢一下家人,没有他们的默默付出和巨大的支持,笔者不可能有如此多的时间和精力专注于本书的写作。
感谢每一位没有提及名字,但是曾经帮助过笔者的贵人。
韩帅
2021年7月1日 于杭州

目录





目 录


第1章 如何系统地学习Spring Boot 1
1.1 学习Spring Boot遇到的问题 1
1.2 学习Spring Boot的系统性建议 3
1.2.1 基础实践、源码分析、项目开发 3
1.2.2 如何开发和统筹一个完整的项目 4
1.2.3 其他建议 6
第2章 Spring Boot:Java开发人员的选择 7
2.1 认识Spring Boot 7
2.1.1 越来越流行的Spring Boot 7
2.1.2 Java开发人员必备的技术栈 8
2.2 选择Spring Boot 9
2.2.1 Spring Boot的理念 9
2.2.2 Spring Boot可以简化开发 10
2.2.3 Spring Boot的特性 11
第3章 Spring Boot基础开发环境的安装和配置 14
3.1 JDK的安装和配置 14
3.1.1 下载安装包 14
3.1.2 安装JDK 16
3.1.3 配置环境变量 17
3.1.4 JDK环境变量验证 18
3.2 Maven的安装和配置 18
3.2.1 下载安装包 18
3.2.2 安装并配置Maven 19
3.2.3 Maven环境变量验证 20
3.2.4 配置国内Maven镜像 20
3.3 开发工具IDEA的安装和配置 22
3.3.1 下载IDEA安装包 22
3.3.2 安装IDEA及其功能介绍 24
3.3.3 配置IDEA的Maven环境 25
第4章 Spring Boot项目搭建及快速上手 28
4.1 Spring Boot项目创建 28
4.1.1 认识Spring Initializr 28
4.1.2 Spring Boot项目初始化配置 29
4.1.3 使用Spring Initializr初始化一个Spring Boot项目 30
4.1.4 其他方式创建Spring Boot项目 32
4.2 Spring Boot项目目录结构介绍 33
4.3 启动Spring Boot项目 34
4.3.1 在IDEA编辑器中启动Spring Boot项目 34
4.3.2 Maven插件启动 36
4.3.3 java-jar命令启动 37
4.3.4 Spring Boot项目启动日志 38
4.4 开发第一个Spring Boot项目 39
第5章 Spring Boot核心详解及源码分析 42
5.1 约定优于配置 42
5.2 Spring Boot之依赖管理 43
5.3 @SpringBootApplication注解与分析 49
5.3.1 @SpringBootApplication注解 49
5.3.2 @SpringBootConfiguration注解 51
5.3.3 @EnableAutoConfiguration注解 51
5.3.4 @AutoConfigurationPackage源码解析 52
5.3.5 EnableAutoConfigurationImportSelector类的源码解析 54
5.3.6 @ComponentScan注解 61
5.4 SpringApplication启动流程解析 62
第6章 Spring Boot之DispatcherServlet自动配置及源码解读 78
6.1 Spring MVC的核心分发器DispatcherServlet 78
6.1.1 核心分发器DispatcherServlet介绍 78
6.1.2 DispatcherServlet自动配置的日志输出 80
6.2 DispatcherServlet自动配置的源码调试记录 81
6.3 自动配置类DispatcherServletAutoConfiguration 86
6.3.1 DispatcherServletAutoConfiguration类的讲解 86
6.3.2 DispatcherServletAutoConfiguration在IOC容器中的注册 91
6.4 DispatcherServlet自动配置流程 91
6.4.1 注册至IOC容器 92
6.4.2 创建并启动嵌入式的Tomcat对象 94
6.4.3 装载至Servlet容器 99
第7章 Spring Boot之Web开发和Spring MVC自动配置分析 106
7.1 Spring MVC自动配置内容 106
7.2 WebMvcAutoConfiguration源码分析 107
7.3 ViewResolver视图解析器的自动配置 109
7.4 自动注册Converter、Formatter 111
7.5 消息转换器HttpMessageConverter 113
7.6 Spring Boot对静态资源的映射规则 116
7.7 welcomePage和favicon配置 120
7.7.1 welcomePage配置 120
7.7.2 favicon配置 122
第8章 Thymeleaf模板引擎使用详解 126
8.1 模板引擎技术介绍 126
8.2 Thymeleaf模板引擎 127
8.2.1 Thymeleaf模板引擎介绍 127
8.2.2 Thymeleaf并非Spring Boot默认的模板引擎 128
8.3 Spring Boot之Thymeleaf 整合 129
8.3.1 引入Thymeleaf依赖 130
8.3.2 创建模板文件 132
9.3.3 编辑Controller代码 132
8.3.4 Thymeleaf模板引擎使用注意事项 134
8.4 Thymeleaf属性值讲解 135
8.4.1 Thymeleaf模板解读 135
8.4.2 Thymeleaf属性值的设置 136
8.4.3 修改属性值实践 137
8.5 Thymeleaf语法讲解 139
8.5.1 Thymeleaf语法 139
8.5.2 Thymeleaf简单语法实践 141
8.5.3 Thymeleaf表达式 143
第9章 Spring Boot操作MySQL数据库 151
9.1 Spring Boot连接MySQL实践 151
9.1.1 Spring Boot对数据库连接的支持 151
9.1.2 Spring Boot整合spring-boot-starter-jdbc 152
9.1.3 Spring Boot连接MySQL数据库验证 155
9.2 Spring Boot数据源自动配置源码详解 157
9.2.1 Spring Boot默认数据源HikariDataSource 157
9.2.2 数据源自动配置类DataSourceAutoConfiguration 158
9.2.3 属性绑定 160
9.2.4 DataSourceConfiguration源码解析 160
9.3 使用JdbcTemplate进行数据库的增、删、改、查 164
9.3.1 JdbcTemplate介绍 165
9.3.2 详解JdbcTemplate对数据库的增、删、改、查 165
9.4 Spring Boot项目中MyBatis相关组件的自动配置讲解 170
9.4.1 MyBatis简介 170
9.4.2 mybatis-springboot-starter介绍 171
9.4.3 MyBatis自动配置详解 171
9.5 Spring Boot整合MyBatis的过程 179
9.5.1 添加依赖 179
9.5.2 application.properties的配置 182
9.5.3 启动类增加Mapper扫描 182
9.6 Spring Boot整合MyBatis进行数据库的增、删、改、查 183
9.6.1 新建实体类和Mapper接口 183
9.6.2 创建Mapper接口的映射文件 185
9.6.3 新建MyBatisController 187
第10章 分页功能的讲解和编码实现 192
10.1 分页功能介绍 192
10.1.1 百度分页功能演示 192
10.1.2 GitHub分页功能演示 194
10.1.3 商城后台管理系统分页功能演示 195
10.1.4 商品搜索页分页功能演示 196
10.2 分页功能的作用 197
10.3 分页功能的设计 198
10.3.1 前端分页功能设计 198
10.3.2 后端分页功能设计 199
10.4 分页功能的编码实现 199
10.4.1 新增分页测试数据 200
10.4.2 分页功能返回结果的封装 202
10.4.3 分页功能代码的具体实现 207
10.4.4 分页功能测试 210
10.5 jqGrid分页插件 212
10.5.1 jqGrid分页插件介绍 212
10.5.3 导入jqGrid分页插件资源到项目中 214
10.5.3 使用jqGrid实现分页的步骤 214
10.5.4 分页数据格式详解 217
10.6 整合jqGrid实现分页功能 218
10.6.1 前端页面制作 218
10.6.2 jqGrid初始化 219
10.6.3 整合jqGrid实现分页功能测试 221
第11章 Spring Boot文件上传功能的实现 223
11.1 Spring MVC处理文件上传的源码分析 223
11.1.1 文件上传功能源码调用链 223
11.1.2 文件上传功能源码分析 224
11.1.3 Spring Boot中MultipartResolver的自动配置 227
11.2 Spring Boot文件上传功能的实现案例 229
11.2.1 Spring Boot文件上传配置项 229
11.2.2 新建文件上传页面 230
11.2.3 新建文件上传处理Controller类 231
11.2.5 文件上传功能测试 232
11.3 Spring Boot文件上传路径回显 234
11.4 Spring Boot多文件上传功能的实现 236
11.4.1 文件名相同时的多文件上传处理 236
11.4.2 文件名不同时的多文件上传处理 239
第12章 Spring Boot实现验证码生成及验证功能 245
12.1 验证码介绍 245
12.1.1 什么是验证码 245
12.1.2 验证码的形式 246
12.2 Spring Boot整合easy-captcha生成验证码 248
12.2.1 添加easy-captcha依赖 249
12.2.2 验证码格式 251
12.2.3 验证码字符类型 251
12.2.4 字体设置 252
12.2.5 验证码图片输出 253
12.3 生成并显示验证码 254
12.3.1 后端逻辑实现:生成并输出验证码 254
12.3.2 前端逻辑实现:在页面中展示验证码 255
12.4 验证码的输入验证 256
12.4.1 后端逻辑实现 256
12.4.2 前端逻辑实现 257
第13章 商城项目需求分析与功能设计 260
13.1 选择开发商城系统的原因 260
13.1.1 什么是商城系统 260
13.1.2 为什么要做商城系统 261
13.2 认识新蜂商城系统 262
13.2.1 新蜂商城系统介绍 262
13.2.2 新蜂商城开发背景 263
13.2.3 新蜂商城开源过程 264
13.2.4 新蜂商城运行预览图 266
13.3 新蜂商城功能详解 272
13.3.1 商城端功能整理 272
13.3.2 后台管理系统功能整理 273
13.3.3 新蜂商城架构图 274
第14章 项目初体验:启动和使用新蜂商城 275
14.1 下载商城项目的源码 275
14.1.1 使用clone命令下载源码 275
14.1.2 通过开源网站下载源码 276
14.2 新蜂商城目录结构讲解 279
14.3 启动商城项目 281
14.3.1 导入数据库 281
14.3.2 修改数据库连接配置 281
14.3.3 静态资源目录设置 282
14.3.4 启动并访问商城项目 283
14.4 注意事项 285
14.4.1 关于项目地址 285
14.4.2 关于账号及密码 286
14.4.3 商城登录和后台管理系统登录演示 287
第15章 页面设计及商城后台管理系统页面布局的实现 289
15.1 前端页面实现的技术选型 289
15.1.1 Bootstrap产品介绍 289
15.1.2 为什么选择Bootstrap 290
15.1.3 AdminLTE3产品介绍 291
15.1.4 为什么选择AdminLTE3 293
15.1.5 前端技术选型的5个原则 294
15.2 商城页面布局讲解 294
15.2.1 后台管理系统页面布局介绍 294
15.2.2 商城端页面布局介绍 296
15.3 后台管理系统页面制作 297
15.3.1 AdminLTE3整合到Spring Boot项目中 297
15.3.2 后台管理系统页面制作 298
15.3.3 Controller类处理页面跳转 302
15.3.4 公共页面抽取 303
15.3.5 分段表达式传参 310
第16章 后台管理系统登录功能的实现 313
16.1 登录流程设计 313
16.1.1 什么是登录 313
16.1.2 用户登录状态 314
16.1.3 登录流程设计 315
16.2 管理员登录功能实践 316
16.2.1 管理员登录页面的实现 316
16.2.2 管理员表结构设计 319
16.2.3 新建管理员实体类和Mapper接口 321
16.2.4 创建AdminUserMapper接口的映射文件 323
16.2.5 业务层代码的实现 324
16.2.6 管理员登录控制层代码的实现 325
16.2.7 管理员登录功能演示及注意事项 326
16.3 后台管理系统登录拦截器的实现 328
16.3.1 登录拦截器 328
16.3.2 定义拦截器 329
16.3.3 配置拦截器 331
16.4 管理员模块功能的完善 333
第17章 轮播图管理模块的开发 343
17.1 轮播图模块介绍 343
17.2 轮播图管理页面跳转逻辑的实现 345
17.2.1 导航栏中增加“轮播图配置”栏目 345
17.2.2 控制类处理跳转逻辑 345
17.2.3 轮播图管理页面基础样式的实现 346
17.3 轮播图管理模块后端功能的实现 348
17.3.1 轮播图表结构设计 348
17.3.2 轮播图管理模块接口介绍 349
17.3.3 新建轮播图实体类和Mapper接口 350
17.3.4 创建CarouselMapper接口的映射文件 354
17.3.5 业务层的代码实现 360
17.3.6 轮播图管理模块控制层的代码实现 363
17.4 轮播图管理模块前端功能的实现 366
17.4.1 功能按钮和分页信息展示区域 366
17.4.2 轮播图管理页面分页功能的实现 367
17.4.3 添加和修改按钮触发事件及Modal框的实现 368
17.4.4 轮播图管理页面添加和编辑功能的实现 371
17.4.5 轮播图管理页面删除功能的实现 373
17.4.6 功能测试 375
第18章 分类管理模块的开发 379
18.1 分类管理模块介绍 379
18.1.1 商品分类 379
18.1.2 分类层级 380
18.1.3 分类模块的主要功能 381
18.2 商品类目管理模块前端页面的制作 381
18.2.1 在导航栏中增加“分类管理”栏目 381
18.2.2 控制类处理跳转逻辑 382
18.2.3 分类管理页面基础样式的实现 383
18.2.4 功能按钮和分页信息展示区域 386
18.2.5 URL参数处理 387
18.3 商品分类表的结构设计 388
18.4 分类模块后端功能的实现 389
18.4.1 新建分类实体类和Mapper接口 390
18.4.2 创建GoodsCategoryMapper接口的映射文件 395
18.4.3 业务层代码的实现 401
18.4.4 分类管理模块控制层的代码实现 405
18.5 商品类目管理模块前端功能的实现 410
18.5.1 分类管理页面分页功能的实现 410
18.5.2 上下级分类页面的跳转逻辑处理 412
18.5.3 分类管理页面添加和修改按钮的触发事件 413
18.5.4 分类管理页面添加和编辑功能的实现 414
18.5.5 分类管理页面删除功能的实现 416
18.5.6 功能测试 417
18.6 分类数据的三级联动功能开发 421
18.6.1 多层级数据联动效果的常见场景 421
18.6.2 多层级的数据联动实现原理和方式 423
18.6.3 分类三级联动页面基础样式的实现 423
18.6.4 数据初始化 426
18.6.5 数据联动后端接口的实现 429
18.6.6 监听选择框的change事件并实现联动功能 431
第19章 富文本编辑器介绍及整合 435
19.1 富文本编辑器详解 435
19.1.1 如何处理复杂的文本内容 435
19.1.2 富文本编辑器介绍及其优势 437
19.2 富文本编辑器wangEditor的介绍 438
19.3 wangEditor整合编码案例 441
19.4 新蜂商城项目wangEditor的应用情况 444
19.4.1 为什么选择wangEditor 444
19.4.2 wangEditor整合过程中的问题 445
第20章 商品编辑页面及商品管理模块的开发 448
20.1 新蜂商城商品管理模块简介 448
20.2 新蜂商城商品信息表结构的设计 449
20.3 商品编辑页面的制作 451
20.3.1 导航栏中增加“商品信息”栏目 451
20.3.2 控制类处理跳转逻辑 452
20.3.3 商品信息编辑页面的制作 453
20.3.4 初始化插件 458
20.3.5 新增控制类处理图片上传 462
20.4 商品信息添加接口的开发与联调 467
20.4.1 新建商品实体类和Mapper接口 467
20.4.2 创建NewBeeMallGoodsMapper接口的映射文件 472
20.4.3 业务层的代码实现 476
20.4.4 商品添加接口控制层的代码实现 477
20.4.5 前端调用商品添加接口 478
20.4.6 功能测试 482
20.5 商品信息编辑页面的完善 483
20.5.1 控制类处理跳转的逻辑 484
20.5.2 商品信息编辑页面数据的回显 486
20.6 商品信息修改的开发与联调 489
20.6.1 数据层代码的实现 490
20.6.2 业务层代码的实现 492
20.6.3 商品添加接口控制层代码的实现 493
20.6.4 前端调用商品修改接口 494
20.7 商品信息管理页面的制作 496
20.7.1 导航栏中增加“商品管理”按钮 496
20.7.2 控制类处理跳转逻辑 497
20.7.3 商品管理页面基础样式的实现 497
20.8 商品信息管理模块接口的实现 499
20.8.1 数据层代码的实现 500
20.8.2 业务层代码的实现 501
20.8.3 控制层代码的实现 502
20.9 商品管理模块前端功能的实现 503
20.9.1 商品管理页面功能按钮的设置 503
20.9.2 商品管理页面分页功能的实现 504
20.9.3 商品添加和修改按钮的触发事件 506
20.9.4 商品上架和下架功能的实现 506
20.9.5 功能测试 509
第21章 新蜂商城首页功能的开发 514
21.1 新蜂商城首页静态页面的制作 514
21.1.1 商城首页的设计注意事项 514
21.1.2 新蜂商城首页的排版设计 515
21.1.3 新蜂商城首页基础样式的实现 517
21.2 新蜂商城首页功能的实现 523
21.2.1 首页跳转逻辑的实现 523
21.2.2 Controller处理跳转 523
21.2.3 公共页面的抽取 525
21.3 商城端首页轮播图功能的实现 528
21.3.1 Swiper轮播图插件的介绍 528
21.3.2 轮播图插件Swiper的整合 529
21.3.3 轮播图数据的读取 530
21.3.4 轮播图数据的渲染 531
21.3.5 轮播效果的实现 532
21.4 首页分类效果的制作 532
21.4.1 首页商品分类数据的读取 533
21.4.2 首页商品分类数据的渲染 535
21.4.3 首页商品分类联动效果的实现 536
21.5 商城首页推荐商品模块的介绍 538
21.6 首页配置管理页面的制作 539
21.6.1 导航栏中增加首页配置相关栏目 539
21.6.2 控制类处理跳转逻辑 540
21.6.3 首页配置商品管理页面基础样式的实现 541
21.7 首页配置管理模块接口的设计及实现 543
21.7.1 首页配置表结构的设计 543
21.7.2 新建首页配置实体类和Mapper接口 544
21.7.3 创建IndexConfigMapper接口的映射文件 549
21.7.4 业务层代码的实现 555
21.7.5 首页管理模块控制层代码的实现 559
21.8 首页配置管理模块前端功能的实现 563
21.8.1 功能按钮和分页信息展示区域 563
21.8.2 首页配置管理页面分页功能的实现 563
21.8.3 添加和修改按钮触发事件及Modal框实现 565
21.8.4 首页配置管理页面添加和编辑功能的实现 568
21.8.5 首页配置管理页面删除功能的实现 570
21.9 商城首页功能完善 571
21.9.1 首页推荐商品数据的读取 571
21.9.2 首页推荐商品数据的渲染 573
第22章 商城端用户登录和注册功能的开发 575
22.1 商城端用户表结构的设计 575
22.2 商城端用户登录和注册页面的制作 577
22.2.1 商城端登录页面基础样式的实现 577
22.2.2 商城端注册页面基础样式的实现 579
22.2.3 控制类处理跳转逻辑 580
22.3 商城端用户登录和注册模块接口的实现 580
22.3.1 新建商城端用户实体类和Mapper接口 580
22.3.2 创建MallUserMapper接口的映射文件 584
22.3.3 业务层代码的实现 587
22.3.4 商城端用户登录和注册控制层代码的实现 590
22.4 商城端用户登录注册模块前端功能的实现 593
22.4.1 注册功能的实现 593
22.4.2 登录功能的实现 595
22.5 商城端用户登录拦截器的实现 596
22.5.1 定义拦截器 597
22.5.2 配置拦截器 598
22.6 功能测试 600
第23章 商城端搜索商品功能的开发 602
23.1 搜索页面的设计和数据格式的定义 602
23.1.1 搜索页面的设计 602
23.1.2 数据格式的定义 603
23.2 发起搜索请求 605
23.2.1 商品的关键字搜索 605
23.2.2 商品的分类搜索功能 607
23.3 商品数据查询的实现代码 608
23.3.1 数据层代码的实现 609
23.3.2 业务层代码的实现 611
23.4 商品搜索结果页面数据的渲染 612
23.4.1 参数封装及分页数据的获取 612
23.4.2 搜索结果页面渲染的逻辑实现 614
第24章 商品详情页及购物车功能的开发 619
24.1 商城端商品详情页面的制作 619
24.1.1 商品详情页跳转逻辑的实现 619
24.1.2 商品详情页面数据的渲染 620
24.2 购物车模块简介及表结构设计 624
24.2.1 购物车模块简介 624
24.2.2 购物车表结构设计 624
24.3 将商品加入购物车功能的实现 625
24.3.1 新建购物项实体类和Mapper接口 625
24.3.2 创建NewBeeMallShoppingCartItemMapper接口的映射文件 628
24.3.3 业务层代码的实现 631
24.3.4 将商品加入购物车接口的实现 633
24.3.5 前端功能的实现 635
24.4 购物车列表功能的实现 636
24.4.1 数据格式的定义 636
24.4.2 购物车列表数据的获取 638
24.4.3 购物车列表数据的渲染 641
24.5 编辑购物项功能的实现 645
24.5.1 数据层代码的实现 645
24.5.2 业务层代码的实现 646
24.5.3 控制层代码的实现 648
24.5.4 前端调用修改和删除购物项的接口 650
24.6 功能测试 652
第25章 订单模块功能开发及讲解 656
25.1 订单确认页面的功能开发 657
25.1.1 商城中的订单确认步骤 657
25.1.2 订单确认的前置步骤 658
25.1.3 订单确认页面的数据整合 659
25.1.4 订单确认页面制作及数据渲染 660
25.2 订单模块中的表结构设计 667
25.2.1 订单主表和订单项关联表设计 667
25.2.2 订单项表的设计思路 670
25.3 订单生成功能的实现 670
25.3.1 新蜂商城订单生成的流程 670
25.3.2 发起订单生成请求 671
25.3.3 订单生成请求处理 672
25.3.4 订单生成逻辑的实现 674
25.4 订单详情页面功能的实现 677
25.4.1 订单详情跳转处理 677
25.4.2 订单详情数据的渲染 678
25.5 商城端订单列表功能 685
25.5.1 订单列表数据格式的定义 685
25.5.2 订单列表页面数据的获取 690
25.5.3 订单列表页面渲染的逻辑 692
25.6 订单处理流程及订单状态的介绍 697
25.6.1 订单处理流程 697
25.6.2 订单状态的介绍 698
25.7 订单状态转换的讲解 700
25.7.1 订单支付 700
25.7.2 订单确认 703
25.7.3 订单出库 704
25.7.4 确认收货 705
25.7.5 取消订单 705
25.8 商城系统的展望 707

读者评论

  • 导入源码后 修改对应的配置 启动前端访问正常 后端访问登录页面总是报验证码错误 调看登录状态是200

    riverslee发表于 2021/9/11 10:12:42
    • 加作者群聊一下。需要debug看一看具体问题,因为验证码在商城端和后台都有,不可能只在一端出问题。点击链接加入群聊【SpringBoot技术交流13】:https://jq.qq.com/?_wv=1027&k=GsKkdERM

      陈林发表于 2021/9/13 10:30:19

相关博文

  • 以1敌10不是梦,Spring Boot企业级真实应用案例

    以1敌10不是梦,Spring Boot企业级真实应用案例

    博文小编 2021-07-28

    在技术领域,深度参与一个完整的大型项目,并具备真实的实践经验是大企业招聘员工极其看重的一个条件。 技术人员往往需要不断学习和不断练习,才能达到预期的技术修炼成果。 而很多技术人员在纷繁的小项目中游离,有一种学也学了、练也练了,...

    博文小编 2021-07-28
    247 0 1 0

相关图书

亿级流量系统架构设计与实战

李琛轩 (作者)

本书涵盖了亿级用户应用后台通用的技术和系统架构设计思路,在内容结构上分为三大篇:架构知识篇(第1~3章),作为全书的基础知识篇,首先介绍后台的关键组件构成以及机...

 

算法笔记(第2版)

刁瑞 谢妍 (作者)

ChatGPT掀起了现象级的风暴,赶超ChatGPT潮流,算法突破是关键。 本书介绍了若干常见算法,涉及排序、哈希、动态规划与近似算法、高斯消去法、图论与线性...

 

看漫画学Python:有趣、有料、好玩、好用(全彩修订版)

关东升 赵大羽 (作者)

ython是一门既简单又强大的编程语言,被广泛应用于数据分析、大数据、网络爬虫、自动化运维、科学计算和人工智能等领域。Python也越来越重要,成为国家计算机等...

 

Linux从入门到精通

张启玉 (作者)

本书以CentOS 7.8为演示系统,以阿里云为演示服务器,从Linux常用命令入手,从一毕业就要入职公司的上手要求出发,重实战、轻原理,目的就是要带领读者从一...

 

看漫画学Python 2:有趣、有料、好玩、好用(全彩进阶版)

关东升 ,赵大羽 (作者)

本书是《看漫画学Python》的进阶版本,继续秉承有趣、有料、好玩、好用的理念,并继续采用《看漫画学Python》一书中3个不同的漫画人物角色,通过这3个角色之...

 

趣玩Python:自动化办公真简单(双色+视频版)

本书以数据收集→数据清洗→数据分析→数据可视化→根据数据可视化结果(即图表)做决策为脉络,介绍Python在实际工作场景中的应用,侧重于用Python解决工作中...