当前位置:网站首页>推荐书籍 > 正文 >>

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

图书信息

作者:十三著

出版社:电子工业出版社

定价:138.00

ISBN:9787121414244

出版时间:2021-07-01

分类:图书,行业职业,计算机,网络技术

商品介绍

目录

第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

内容简介

本书首先从Spring Boot基础知识部分讲起,涉及学习方法、技术趋势、开发环境和基础实践;然后是进阶应用部分,涉及核心源码、自动配置、模板引擎、数据库等分析,以及分页功能、文件上传、验证码等功能的编码实现;最后是实战开发部分,即从0开始动手搭建一个企业级的商城项目,涉及后台管理系统和前端页面所有功能模块的技术开发。

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

作者简介

"韩帅(十三) 企业技术主管、掘金优秀作者、CSDN博客专家、专栏作者、视频讲师。 GitHub开源项目newbee-mall系列的主理人,多年一线开发经验,历任高级开发工程师、后端主程、技术部门主管等职位。熟练使用Java、SQL、Spring Boot、Vue等计算机语言和开发框架,有非常丰富的开发经验,同时也是开源项目的爱好者和贡献者。"

主编推荐

"本书围绕Spring Boot技术栈的“基础实践、源码分析、项目开发”逐一展开,案例丰富,细节拉满,使读者完整体验从0开始动手搭建企业级项目的过程。本书包含以下知识点:  Spring Boot技术栈的基础使用和开发技巧  Spring Boot的进阶知识,自动配置特性的源码解读  Spring Boot项目的实战开发  为在校学生的毕业设计提供思路  Thymeleaf模板引擎的整合及运用  AdminLTE3、Bootstrap4、SweetAlert、JqGrid、JQuery等前端框架组件及控件的使用Spring Boot企业级商城项目的全流程开发实践大型技术项目的开发、设计和统筹"

推荐书籍