SpringBoot应用开发实战

SpringBoot应用开发实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书面向准备在Web开发领域一展拳脚的读者,详细介绍了Spring Boot2.3应用开发的相关知识。

内容简介

随着移动互联网的发展,对Web开发的需求日益上升。SpringBoot作为Web开发领域中的利器,无论是单体应用,还是用于面向服务架构或者微服务架构,都有不错的表现。

本书共10章,第1~2章介绍了SpringBoot2.3开发基础,包括环境搭建、依赖引入以及如何从零到一地构建一个基础SpringBoot应用;第3~7章以章为单位聚焦不同技术领域,包括Web服务、数据持久化、服务安全性、测试验证以及部署运维,结合详细示例讲解各领域内通用的解决方案;第8~10章为实战内容,包括三种类型项目的实战:聊天服务、在线商城、个人云盘。

本书内容全面、实例丰富,非常值得广大Web开发从业者作为案头的参考书,也可作为高等院校计算机及相关专业的教材或课程设计参考书。

章节目录

版权信息

内容简介

前言

第1章 Spring Boot基础知识

1.1 Spring与Spring Boot

1.1.1 当我们谈论Spring时会谈论些什么

1.1.2 什么是Spring Boot

1.1.3 Spring Boot的优势

1.2 Spring Boot 2.3开发环境

1.2.1 选择合适的JDK

1.2.2 选择趁手的IDE

1.2.3 选择适用于大型项目的自动化构建工具

1.3 Spring Initializr初始化项目

1.3.1 什么是Spring Initializr

1.3.2 开始吧!start.spring.io

1.3.3 使用IDE初始化Spring Boot工程

1.3.4 初探Spring Boot CLI

1.4 Spring Boot目录结构

1.4.1 初始化的工程结构

1.4.2 推荐的工程结构

1.4.3 Maven Wrapper让构建工具随源码分发

1.5 构建第一个Spring Boot项目

1.5.1 经典“Hello World”

1.5.2 使用JUnit 5测试

1.5.3 创建工具类CommonUtil

1.5.4 使用JPA进行数据持久化

1.5.5 修改控制器以及对应模板文件

1.5.6 发布HTTP接口

1.6 Spring Boot自动配置与外部配置

1.6.1 自动配置

1.6.2 外部配置

1.6.3 命令行配置

1.6.4 application.yaml/properties配置文件

第2章 使用Spring Boot构建Web应用程序

2.1 实体与数据持久化

2.1.1 数据持久化框架

2.1.2 什么是实体

2.1.3 浅谈Spring Data JPA

2.1.4 使用Lombok简化POJO

2.2 MVC与模板引擎

2.2.1 MVC架构

2.2.2 Mustache模板引擎

2.2.3 构建MVC架构的Web应用

2.3 文件上传与下载

2.3.1 文件上传

2.3.2 文件下载

2.4 Spring Boot日志

2.4.1 使用预设配置

2.4.2 基础配置

2.4.3 详细配置

2.4.4 Lombok注解:@Sl4j和@Commonslog

2.4.5 在Windows平台输出彩色日志的JANSI

2.5 过滤器与拦截器

2.5.1 过滤器

2.5.2 使用过滤器实现访问控制

2.5.3 拦截器

2.5.4 使用拦截器记录请求参数

2.6 Spring Boot事件

2.6.1 事件驱动模型

2.6.2 内置事件

2.6.3 监听内置事件

2.6.4 自定义事件

2.6.5 异步事件

第3章 创建RESTful Web服务

3.1 HTTP动词

3.1.1 构建一个基础的RESTful Web服务

3.1.2 是GetMapping吗?是RequestMapping

3.2 请求与响应

3.2.1 HTTP报文

3.2.2 简单请求与@RequestParam

3.2.3 使用@PathVariable获取URL中的参数

3.2.4 借助@RequestHeader读取请求头

3.2.5 @RequestBody与@ResponseBody

3.2.6 使用ResponseEntity处理HTTP响应

3.3 参数验证

3.3.1 基础验证Bean Validation

3.3.2 高级验证Spring Validation

3.3.3 自定义校验

3.4 错误处理

3.4.1 使用@ExceptionHandler处理异常

3.4.2 使用HandlerExceptionResolver处理异常

3.4.3 使用@ControllerAdvice处理异常

3.4.4 抛出ResponseStatusException异常

3.5 Swagger文档

3.5.1 Swagger/OpenAPI规范

3.5.2 生成接口文档

3.5.3 使用注解生成文档内容

第4章 数据库与持久化技术

4.1 使用JdbcTemplate访问关系型数据库

4.1.1 引入依赖

4.1.2 准备数据

4.1.3 queryForObject()方法

4.1.4 使用RowMapper映射实体

4.1.5 使用BeanPropertyRowMapper映射

4.1.6 queryForList()方法

4.1.7 不同的JDBCTemplate实现NamedParameterJdbcTemplate

4.1.8 update()方法

4.2 JPA与关系型数据库

4.2.1 什么是JPA

4.2.2 再谈Spring Data JPA

4.2.3 基于JpaRepository接口查询

4.2.4 基于JpaSpecificationExecutor接口查询

4.2.5 基于JPQL或SQL

4.2.6 多表连接

4.2.7 级联操作

4.2.8 加载类型

4.3 Spring Data MongoDB

4.3.1 准备工作

4.3.2 使用MongoTemplate访问MongDB

4.3.3 使用MongoRepository访问MongoDB

4.4 Spring Data Redis

4.4.1 准备工作

4.4.2 使用RedisRepository访问Redis

4.4.3 使用RedisTemplate访问Redis

第5章 应用程序安全性

5.1 基于Spring Security的注册登录

5.1.1 Spring Security简介

5.1.2 用户注册

5.1.3 用户登录

5.1.4 “记住我”功能

5.2 权限管理

5.2.1 权限与角色

5.2.2 权限管理体系中的实体:用户、角色与权限

5.2.3 配置与应用

5.2.4 权限管理注解

5.3 Session-Cookie

5.3.1 什么是Session-Cookie

5.3.2 使用Spring Session管理Session

5.3.3 Session并发配置

5.3.4 强制下线

5.4 JWT(JSON Web Token)

5.4.1 关于JWT

5.4.2 JWT工作流程

5.4.3 Spring Security集成JWT

5.5 OAuth 2.0

5.5.1 OAuth 2.0简介

5.5.2 授权模式

5.5.3 集成OAuth 2.0实现SSO单点登录

第6章 自动化测试

6.1 单元测试

6.1.1 测试金字塔

6.1.2 JUnit基础

6.1.3 JUnit 5简介

6.2 断言

6.2.1 assert关键字

6.2.2 JUnit 4里的断言

6.2.3 assertThat方法

6.2.4 自定义Hamcrest匹配器

6.2.5 断言框架AssertJ

6.3 测试中的模拟行为Mock

6.3.1 测试替身

6.3.2 Mockito框架

6.4 集成测试

6.4.1 @WebMvcTest注解

6.4.2 @DataJpaTest注解

6.4.3 @SpringBootTest以及其他一些注解

第7章 部署与运维

7.1 发布与部署

7.1.1 Spring Boot自身的打包方式1——可执行jar文件

7.1.2 Spring Boot自身的打包方式2——部署于传统Web容器的war格式

7.1.3 更现代的发布流程1——基于Docker的发布与部署

7.1.4 更现代的发布流程2——基于RPM的发布与部署

7.1.5 多环境配置

7.2 运行监控

7.2.1 使用Spring Boot Actuator查看运行指标

7.2.2 集成Prometheus

7.2.3 Grafana实现可视化监控

7.3 Spring Boot开发者工具

7.3.1 整合spring-boot-devtools

7.3.2 自动配置

7.3.3 热部署

7.3.4 LiveReload插件支持静态资源的及时更新

7.3.5 全局配置

7.3.6 远程应用

第8章 实战1:基于STOMP协议的聊天服务

8.1 架构设计

8.2 框架搭建

8.3 功能实现

8.3.1 了解WebSocket协议

8.3.2 HTTP请求升级至WebSocket的过程

8.3.3 了解WebSocket应用场景

8.3.4 集成WebSocket

8.3.5 使用STOMP协议实现消息模块

8.3.6 模块配置

8.3.7 注册登录

8.3.8 聊天记录

8.3.9 私聊功能

8.4 测试与验证

8.4.1 集成测试

8.4.2 手工测试

第9章 实战2:在线商城

9.1 架构设计

9.2 框架搭建

9.3 数据库设计

9.4 功能实现

9.4.1 模板引擎Thymeleaf

9.4.2 实体类

9.4.3 用户注册

9.4.4 用户登录

9.4.5 主页以及商品列表

9.4.6 购物车

9.4.7 页眉、导航条以及页脚

9.5 测试与验证

9.5.1 测试数据

9.5.2 集成测试

9.5.3 手工测试

第10章 实战3:个人云盘

10.1 架构设计

10.2 框架搭建

10.2.1 MinIO与对象存储

10.2.2 MinIO部署与使用

10.2.3 项目依赖项与软件包结构

10.3 数据库设计

10.4 功能实现

10.4.1 MinIO Java SDK简介

10.4.2 实现MinIO Starter

10.4.3 实体类

10.4.4 用户注册

10.4.5 用户登录

10.4.6 云盘主页

10.4.7 页面配置

10.5 测试与验证

10.5.1 集成测试

10.5.2 手工测试

SpringBoot应用开发实战是2021年由清华大学出版社出版,作者饶仕琪。

得书感谢您对《SpringBoot应用开发实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
从PowerBI到PowerPlatform:低代码应用开发实战 电子书
本书是专讲Power Platform低代码开发步骤和应用的实战入门书。
AppInventor开发实战 电子书
App Inventor是MIT开发的流行的可视化编程工具,编程爱好者可以在短时间学会创建炫目的安卓手机应用。
ReactNative移动开发实战 电子书
React native入门书籍,打造高品质移动用户体验。
Vue企业开发实战 电子书
《大型电商网站大麦网开发:vue、ES6与Webpack技能结合》
Vulkan开发实战详解 电子书
本书共分为19章,介绍了Vulkan的诞生、特点、开发环境的搭建以及运行机制、渲染管线和调试技术,着色器编程语言—GLSL、投影及各种变换、光照、纹理映射、3D模型的加载、混合与雾、两种测试及片元丢弃、顶点着色器的妙用、片元着色器的妙用、真实光学环境的模拟、阴影及高级光照、几种高级着色器特效、骨骼动画、Vulkan的性能优化等,最后以一个休闲游戏—方块历险记的案例来展示Vulkan的功能与技术。本