转载至: https://www.jb51.net/books/691682.html
下载链接: 点我一键跳转到 下载链接
下载声明: 本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
本书系统介绍如何使用SpringBoot2.0框架快速开发企业级应用。全书共分三大部分,共20章。第I部分“SpringBoot框架基础”包含第1-3章,介绍SpringBoot框架的特性,并展示了快速建立HelloWorld的WebMVC示例,介绍怎样通过自动配置实现极简化的Spring应用程序开发。第II部分“SpringBoot项目综合实战”包含第4~17章,介绍了大量相关项目案例,并给出了案例代码。如集成JPA数据库层,Gradle插件应用,自定义WebMVC配置,AOP编程,集成SpringSecurity安全开发,集成React.js开发前后端分离项目,任务调度与邮件服务开发,集成WebFlux开发响应式Web应用,SpringBoot缓存,使用Zuul开发APIGateway,SpringBoot日志应用等。第III部分“SpringBoot系统监控、测试与运维”包含第18-20章,详细介绍如何高效部署运维SpringBoot应用,并给出了综合案例。
前 言
第Ⅰ部分 Spring Boot框架基础
第1章 Spring Boot简介 2
1.1 从Spring到Spring Boot 2
1.1.1 从EJB到Spring 3
1.1.2 Spring框架发展简史 4
1.1.3 Spring框架的核心模块 5
1.2 Spring Boot简介 7
1.2.1 Spring Boot是什么 7
1.2.2 Spring Boot核心模块 10
1.3 约定优于配置极简化理念 11
1.4 本章小结 12
第2章 快速开始HelloWorld 13
2.1 创建Spring Boot项目 13
2.2 Spring Boot项目的入口类 16
2.3 添加HelloWorldController 18
2.4 Spring Boot应用注解@Spring BootApplication 19
2.4.1 Spring Boot配置类注解 20
2.4.2 启用自动配置注解 21
2.4.3 组件扫描注解 21
2.5 XML配置与注解配置 22
2.6 本章小结 22
第3章 深入理解Spring Boot自动配置 23
3.1 传统的SSM开发过程 23
3.2 Spring Boot自动配置原理 26
3.2.1 Java配置 26
3.2.2 条件化Bean 27
3.2.3 组合注解 32
3.3 Spring Boot自动配置过程 33
3.3.1 @EnableAutoConfiguration注解 33
3.3.2 spring.factories文件 34
3.3.3 获取候选配置类 35
3.4 FreeMarkerAutoConfiguration实例分析 35
3.4.1 spring-boot-starter-freemarker工程 35
3.4.2 spring-boot-autoconfigure工程 37
3.5 本章小结 39
第Ⅱ部分 Spring Boot项目综合实战
第4章 Spring Boot集成MyBatis数据库层开发 42
4.1 Java EE分层架构 42
4.2 MyBatis简介 43
4.2.1 概述 43
4.2.2 MyBatis框架组成 44
4.2.3 MyBatis基础设施 46
4.3 项目实战 54
4.3.1 使用Spring Boot CLI创建工程 54
4.3.2 Spring Boot命令行CLI简介 54
4.3.3 配置application.properties 58
4.3.4 使用IDEA中自带的连接数据库客户端 59
4.3.5 使用MyBatis Generator生成dao层代码 60
4.3.6 设置MyBatis同时使用Mapper.xml和注解 62
4.3.7 使用@Select注解 62
4.3.8 使用MyBatis分页插件pagehelper 63
4.3.9 MyBatis插件机制 64
4.3.10 实现分页接口 64
4.3.11 PageHelper工作原理 67
4.3.12 多表关联查询级联 74
4.4 本章小结 78
第5章 Spring Boot集成JPA数据库层开发 79
5.1 JPA简介 79
5.1.1 JPA生态 81
5.1.2 JPA技术栈 82
5.2 ORM框架概述 83
5.3 Hibernate简介 83
5.4 Spring Data JPA简介 88
5.5 项目实战 90
5.5.1 Spring Data JPA提供的接口 90
5.5.2 创建项目 91
5.5.3 配置数据库连接 91
5.5.4 自动生成Entity实体类代码 91
5.5.5 配置项目数据源信息 95
5.5.6 实现查询接口 96
5.5.7 分页查询 97
5.5.8 多表级联查询 99
5.5.9 级联类型 101
5.5.10 模糊搜索接口 102
5.5.11 JPQL语法基础 103
5.5.12 JPA常用注解 108
5.6 本章小结 109
第6章 Spring Boot Gradle插件应用开发 110
6.1 Gradle简介 110
6.2 用Gradle构建生命周期 112
6.3 Gradle 插件 114
6.4 项目实战 118
6.4.1 创建项目 118
6.4.2 添加依赖 121
6.4.3 配置上传本地Maven仓库 121
6.4.4 实现插件 122
6.4.5 添加插件属性配置 124
6.4.6 运行测试 124
6.4.7 在项目中使用kor插件 126
6.5 本章小结 128
第7章 使用Spring MVC开发Web应用 129
7.1 Spring MVC简介 129
7.1.1 Servlet概述 129
7.1.2 MVC简介 131
7.1.3 Spring、Spring MVC与Spring Boot 2.0 132
7.1.4 Spring MVC框架 133
7.2 Spring MVC常用注解 136
7.3 项目实战:使用FreeMarker模板引擎 137
7.3.1 FreeMarker简介 137
7.3.2 实现一个分页查询页面 138
7.4 实现文件下载 144
7.5 本章小结 145
第8章 Spring Boot自定义Web MVC配置 146
8.1 Web MVC配置简介 146
8.1.1 静态资源配置 147
8.1.2 拦截器配置 148
8.1.3 跨域配置 148
8.1.4 视图控制器配置 149
8.1.5 消息转换器配置 150
8.1.6 数据格式化器配置 150
8.1.7 视图解析器配置 151
8.2 全局异常处理 152
8.2.1 使用@ControllerAdvice和@ExceptionHandler注解 152
8.2.2 实现HandlerExceptionResolver接口 154
8.3 定制Web容器 157
8.4 定制Spring Boot应用程序启动Banner 158
8.5 自定义注册Servlet、Filter和Listener 161
8.5.1 注册Servlet 161
8.5.2 注册Filter 163
8.5.3 注册Listener 168
8.6 本章小结 169
第9章 Spring Boot中的AOP编程 170
9.1 Spring Boot与AOP 170
9.1.1 AOP简介 170
9.1.2 Spring AOP介绍 172
9.1.3 实现一个简单的日志切面 172
9.2 项目实战:使用AOP + Filter实现登录鉴权与权限控制 175
9.2.1 系统整体架构 175
9.2.2 创建工程 176
9.2.3 数据库表结构设计 177
9.2.4 用户登录逻辑 179
9.2.5 登录态鉴权过滤器 181
9.2.6 AOP实现用户权限管理 185
9.2.7 用户注册 187
9.2.8 数据后端校验 188
9.3 本章小结 192
第10章 Spring Boot集成Spring Security安全开发 193
10.1 Spring Security简介 193
10.2 Spring Security核心组件 194
10.3 项目实战 201
10.3.1 初阶Security:默认认证用户名密码 201
10.3.2 中阶Security:内存用户名密码认证 204
10.3.3 角色权限控制 206
10.3.4 进阶Security:基于数据库的用户和角色权限 211
10.4 本章小结 225
第11章 Spring Boot集成React.js开发前后端分离项目 226
11.1 Web前端技术简史 226
11.2 前后端分离架构 228
11.3 项目实战 229
11.3.1 系统功能介绍 229
11.3.2 实现登录后端接口 230
11.3.3 实现登录前端页面 231
11.3.4 实现列表展示后端接口 232
11.3.5 前后端联调测试 233
11.4 本章小结 235
第12章 任务调度与邮件服务开发 236
12.1 定时任务 236
12.1.1 通用实现方法 236
12.1.2 静态定时任务 237
12.1.3 Cron简介 238
12.1.4 动态定时任务 240
12.1.5 多线程执行任务 243
12.2 开发任务调度服务 245
12.2.1 同步与异步 245
12.2.2 同步任务执行 245
12.2.3 异步任务执行 247
12.3 开发邮件服务 250
12.3.1 发送富文本邮件 252
12.3.2 发送带附件的富文本邮件 253
12.4 本章小结 254
第13章 Spring Boot集成WebFlux开发响应式Web应用 255
13.1 响应式宣言及架构 255
13.2 项目实战 256
13.2.1 创建项目 256
13.2.2 代码分析 258
13.3 本章小结 262
第14章 Spring Boot缓存 263
14.1 Spring Cache简介 263
14.2 Cache注解 264
14.3 项目实战 266
14.4 本章小结 272
第15章 使用Spring Session集成Redis实现Session共享 273
15.1 Spring Session简介 273
15.2 Redis简介 275
15.2.1 Redis是什么 275
15.2.2 安装Redis 275
15.2.3 设置Redis密码 276
15.2.4 Redis数据类型 277
15.2.5 Spring Boot集成Redis 279
15.3 项目实战 281
15.4 本章小结 285
第16章 使用Zuul开发API Gateway 286
16.1 API Gateway简介 286
16.2 Zuul简介 287
16.3 项目实战 290
16.4 本章小结 294
第17章 Spring Boot日志 295
17.1 Logback简介 295
17.2 配置logback日志 296
17.3 logback.groovy配置文件 298
17.3.1 显示系统Log级别 298
17.3.2 使用logback.groovy配置 299
17.3.3 配置文件说明 301
17.4 本章小结 306
第Ⅲ部分 Spring Boot系统监控、测试与运维
第18章 Spring Boot应用的监控:Actuator与Admin 308
18.1 Actuator简介 308
18.2 启用Actuator 309
18.3 揭秘端点 311
18.3.1 常用的Actuator端点 311
18.3.2 启用和禁用端点 317
18.4 自定义Actuator端点 318
18.4.1 Endpoint接口 319
18.4.2 实现Endpoint接口 320
18.4.3 继承AbstractEndpoint抽象类 321
18.4.4 实现健康指标接口HealthIndicator 323
18.4.5 实现度量指标接口PublicMetrics 324
18.4.6 统计方法执行数据 328
18.5 使用Admin 331
18.5.1 Admin简介 331
18.5.2 创建Admin Server项目 334
18.5.3 在客户端使用Admin Server 335
18.6 本章小结 339
第19章 Spring Boot应用的测试 340
19.1 准备工作 340
19.2 分层测试 340
19.2.1 dao层测试 341
19.2.2 service层测试 342
19.2.3 使用Mockito测试service层代码 342
19.2.4 controller层测试 344
19.2.5 JSON接口测试 346
19.3 本章小结 347
第20章 Spring Boot应用Docker化 348
20.1 Spring Boot应用打包 348
20.2 Spring Boot应用运维 352
20.2.1 查看JVM参数的值 352
20.2.2 应用重启 353
20.3 使用Docker构建部署运行Spring Boot应用 353
20.3.1 Docker简介 354
20.3.2 环境搭建 355
20.4 项目实战 356
20.4.1 添加Docker构建插件 356
20.4.2 配置Dockerfile文件创建自定义的镜像 357
20.4.3 Dockerfile配置说明 358
20.4.4 构建镜像 362
20.4.5 运行测试 363
20.5 本章小结 364