Spring Boot+Vue全栈开发实战
出版时间:2019
内容简介
Spring Boot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序员从烦琐的DOM操作中解救出来。利用Spring Boot Vue,我们可以快速开发出大型SPA应用。 本书分为16章,重点讲解Spring Boot 2 Vue 2全栈开发所涉及的各种技术点。所有技术点都配有操作实例,循序渐进,直到引导读者开发出一个完整的微人事SPA应用。 本书适合有一定基础的Java开发者及Spring Boot初学者学习,也适合高等院校和培训学校相关专业的师生作为教学参考书。
目 录
第1章 Spring Boot入门 1
1.1 Spring Boot简介 1
1.2 开发第一个Spring Boot程序 2
1.2.1 创建Maven工程 2
1.2.2 项目构建 5
1.2.3 项目启动 7
1.3 Spring Boot的简便创建方式 8
1.3.1 在线创建 8
1.3.2 使用IntelliJ IDEA创建 9
1.3.3 使用STS创建 11
1.4 小结 12
第2章 Spring Boot基础配置 13
2.1 不使用spring-boot-starter-parent 13
2.2 @Spring BootApplication 14
2.3 定制banner 16
2.4 Web容器配置 17
2.4.1 Tomcat配置 17
2.4.2 Jetty配置 20
2.4.3 Undertow配置 21
2.5 Properties配置 21
2.6 类型安全配置属性 22
2.7 YAML配置 24
2.7.1 常规配置 24
2.7.2 复杂配置 25
2.8 Profile 26
2.9 小结 27
第3章 Spring Boot整合视图层技术 28
3.1 整合Thymeleaf 28
3.2 整合FreeMarker 31
3.3 小结 33
第4章 Spring Boot整合Web开发 34
4.1 返回JSON数据 34
4.1.1 默认实现 34
4.1.2 自定义转换器 36
4.2 静态资源访问 40
4.2.1 默认策略 40
4.2.2 自定义策略 42
4.3 文件上传 42
4.3.1 单文件上传 43
4.3.2 多文件上传 45
4.4 @ControllerAdvice 46
4.4.1 全局异常处理 46
4.4.2 添加全局数据 48
4.4.3 请求参数预处理 48
4.5 自定义错误页 50
4.5.1 简单配置 52
4.5.2 复杂配置 55
4.6 CORS支持 62
4.7 配置类与XML配置 67
4.8 注册拦截器 68
4.9 启动系统任务 70
4.9.1 CommandLineRunner 70
4.9.2 ApplicationRunner 72
4.10 整合Servlet、Filter和Listener 73
4.11 路径映射 75
4.12 配置AOP 75
4.12.1 AOP简介 75
4.12.2 Spring Boot支持 76
4.13 其他 78
4.13.1 自定义欢迎页 78
4.13.2 自定义favicon 79
4.13.3 除去某个自动配置 79
4.14 小结 80
第5章 Spring Boot整合持久层技术 81
5.1 整合JdbcTemplate 81
5.2 整合MyBatis 86
5.3 整合Spring Data JPA 89
5.4 多数据源 95
5.4.1 JdbcTemplate多数据源 96
5.4.2 MyBatis多数据源 99
5.4.3 JPA多数据源 102
5.5 小结 106
第6章 Spring Boot整合NoSQL 107
6.1 整合Redis 108
6.1.1 Redis简介 108
6.1.2 Redis安装 108
6.1.3 整合Spring Boot 110
6.1.4 Redis集群整合Spring Boot 113
6.2 整合MongoDB 121
6.2.1 MongoDB简介 121
6.2.2 MongoDB安装 122
6.2.3 整合Spring Boot 124
6.3 Session共享 127
6.3.1 Session共享配置 128
6.3.2 Nginx负载均衡 129
6.3.3 请求分发 130
6.4 小结 131
第7章 构建RESTful服务 132
7.1 REST简介 132
7.2 JPA实现REST 133
7.2.1 基本实现 133
7.2.2 自定义请求路径 138
7.2.3 自定义查询方法 138
7.2.4 隐藏方法 139
7.2.5 配置CORS 140
7.2.6 其他配置 140
7.3 MongoDB实现REST 141
7.4 小结 142
第8章 开发者工具与单元测试 143
8.1 devtools简介 143
8.2 devtools实战 143
8.2.1 基本用法 143
8.2.2 基本原理 145
8.2.3 自定义监控资源 145
8.2.4 使用LiveReload 146
8.2.5 禁用自动重启 147
8.2.6 全局配置 147
8.3 单元测试 148
8.3.1 基本用法 148
8.3.2 Service测试 149
8.3.3 Controller测试 149
8.3.4 JSON测试 152
8.4 小结 153
第9章 Spring Boot缓存 154
9.1 Ehcache 2.x缓存 155
9.2 Redis单机缓存 159
9.3 Redis集群缓存 160
9.3.1 搭建Redis集群 161
9.3.2 配置缓存 161
9.3.3 使用缓存 162
9.4 小结 164
第10章 Spring Boot安全管理 165
10.1 Spring Security的基本配置 165
10.1.1 基本用法 166
10.1.2 配置用户名和密码 167
10.1.3 基于内存的认证 167
10.1.4 HttpSecurity 168
10.1.5 登录表单详细配置 170
10.1.6 注销登录配置 172
10.1.7 多个HttpSecurity 173
10.1.8 密码加密 174
10.1.9 方法安全 176
10.2 基于数据库的认证 177
10.3 高级配置 182
10.3.1 角色继承 182
10.3.2 动态配置权限 183
10.4 OAuth 2 187
10.4.1 OAuth 2简介 187
10.4.2 OAuth 2角色 187
10.4.3 OAuth 2授权流程 188
10.4.4 授权模式 188
10.4.5 实践 189
10.5 Spring Boot整合Shiro 195
10.5.1 Shiro简介 195
10.5.2 整合Shiro 195
10.6 小结 200
第11章 Spring Boot整合WebSocket 201
11.1 为什么需要WebSocket 201
11.2 WebSocket简介 202
11.3 Spring Boot整合WebSocket 203
11.3.1 消息群发 204
11.3.2 消息点对点发送 208
11.4 小结 213
第12章 消息服务 214
12.1 JMS 214
12.1.1 JMS简介 214
12.1.2 Spring Boot整合JMS 215
12.2 AMQP 218
12.2.1 AMQP简介 218
12.2.2 Spring Boot整合AMQP 218
12.3 小结 228
第13章 企业开发 229
13.1 邮件发送 229
13.1.1 发送前的准备 229
13.1.2 发送 231
13.2 定时任务 239
13.2.1 @Scheduled 239
13.2.2 Quartz 240
13.3 批处理 243
13.3.1 Spring Batch简介 243
13.3.2 整合Spring Boot 243
13.4 Swagger 2 248
13.4.1 Swagger 2简介 248
13.4.2 整合Spring Boot 248
13.5 数据校验 252
13.5.1 普通校验 252
13.5.2 分组校验 254
13.5.3 校验注解 255
13.6 小结 256
第14章 应用监控 257
14.1 端点配置 257
14.1.1 开启端点 257
14.1.2 暴露端点 259
14.1.3 端点保护 261
14.1.4 端点响应缓存 261
14.1.5 路径映射 262
14.1.6 CORS支持 262
14.1.7 健康信息 263
14.1.8 应用信息 267
14.2 监控信息可视化 272
14.3 邮件报警 275
14.4 小结 276
第15章 项目构建与部署 277
15.1 JAR 277
15.1.1 项目打包 277
15.1.2 项目运行 279
15.1.3 创建可依赖的JAR 280
15.1.4 文件排除 281
15.2 WAR 283
15.3 小结 283
第16章 微人事项目实战 284
16.1 项目简介 284
16.2 技术架构 285
16.2.1 Vue简介 285
16.2.2 Element简介 285
16.2.3 其他 286
16.3 项目构建 286
16.3.1 前端项目构建 286
16.3.2 后端项目构建 287
16.3.3 数据模型设计 287
16.4 登录模块 293
16.4.1 后端接口实现 293
16.4.2 前端实现 302
16.5 动态加载用户菜单 308
16.5.1 后端接口实现 308
16.5.2 前端实现 310
16.6 员工资料模块 315
16.6.1 后端接口实现 315
16.6.2 前端实现 316
16.7 配置邮件发送 319
16.8 员工资料导出 322
16.8.1 后端接口实现 322
16.8.2 前端实现 325
16.9 员工资料导入 325
16.9.1 后端接口实现 325
16.9.2 前端实现 329
16.10 在线聊天 330
16.10.1 后端接口实现 330
16.10.2 前端实现 331
16.11 前端项目打包 334
16.12 小结 335