为你推荐
封面页
书名页
版权页
内容简介
前言
目录
第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 手工测试
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜