简介:
第1篇Spring Boot基础篇
第1章走进Spring Boot
1.1Spring Boot概述/003
1.1.1Spring Boot简介/003
1.1.2Spring Boot的优势/003
1.1.3Spring Boot的几大核心特性/004
1.2开发环境准备/004
1.2.1学习Spring Boot的前提与开发环境和工具/004
1.2.2基于Spring Initializr构建单模块项目/005
1.2.3写个Hello World吧/007
1.2.4单模块项目的优缺点/008
1.3Spring Boot多模块项目的搭建/009
1.3.1基于Maven构建多模块项目的规范/009
1.3.2基于Maven构建多模块项目的流程/009
1.3.3写个Hello World吧/014
1.4Spring Boot原理初步分析/015
1.4.1Spring Boot起步依赖/016
1.4.2Spring Boot自动装配/018
1.4.3Spring Boot启动执行流程/019
第2章Spring Boot基础配置详解
2.1Spring Boot单元测试与热加载/023
2.1.1单元测试简介与使用/023
2.1.2基于Devtools实现Spring Boot项目热加载/025
2.2Spring Boot全局配置文件详解/028
2.2.1Spring Boot两大默认配置文件介绍/028
2.2.2基于Environment读取配置文件/029
2.2.3基于@Value读取配置文件/030
2.2.4基于@ConfigurationProperties映射配置文件/031
2.3Spring Boot自定义配置详解/033
2.3.1基于@PropertySource加载配置文件/034
2.3.2基于@ImportResource加载XML配置文件/035
2.3.3基于@Configuration编写自定义配置类/037
2.4Spring Boot多环境配置详解/039
2.4.1为什么需要多环境配置?/039
2.4.2多环境配置实战/039
第3章Spring Boot数据访问层实战
3.1基于Spring JdbcTemplate搭建数据访问层/044
3.1.1数据访问层与Spring JdbcTemplate简介/044
3.1.2Spring Boot整合JdbcTemplate实现CRUD/044
3.1.3实战案例测试/048
3.2基于Mybatis搭建数据访问层/051
3.2.1Mybatis简介/052
3.2.2Spring Boot整合与配置Mybatis/052
3.2.3Spring Boot整合Mybatis实现CRUD/053
3.2.4实战案例测试与总结/057
3.3基于Spring Data JPA搭建数据访问层/060
3.3.1Spring Data JPA简介/061
3.3.2Spring Boot整合与配置Spring Data JPA/061
3.3.3Spring Boot整合Spring Data JPA实现CRUD/062
3.3.4实战案例测试/066
第4章Spring Boot实现Web常用功能
4.1整合Spring MVC实现Web常用功能/073
4.1.1Spring MVC简介与执行流程/073
4.1.2Java Web常见的模板引擎/075
4.1.3Thymeleaf配置与常见用法/077
4.2基于SSM实战用户信息管理/081
4.2.1数据库表设计/081
4.2.2业务逻辑处理层代码实战/083
4.2.3前端代码实战与测试一/086
4.2.4前端代码实战与测试二/089
第2篇Spring Boot核心技术与高级应用篇
第5章Spring Boot核心技术之上传下载、发送邮件与定时任务
5.1文件的上传与下载/094
5.1.1Lombok简介与实战/094
5.1.2文件上传与下载开发流程介绍/097
5.1.3基于Java IO实战实现文件上传/098
5.1.4基于Java IO实战实现文件下载/100
5.1.5基于Java NIO实战实现文件上传/103
5.1.6基于Java NIO实战实现文件下载/105
5.2发送邮件与定时任务实战/108
5.2.1基于Spring Boot整合与配置起步依赖/108
5.2.2基于Spring Boot实现简单文本邮件的发送/109
5.2.3基于Spring Boot实现富文本邮件的发送/112
5.2.4基于Spring Boot实现带附件邮件的发送/114
5.2.5定时任务与@Scheduled注解实战/117
5.2.6基于Java线程池高效执行多个定时任务/119
第6章Spring Boot核心技术之导入导出Excel
6.1典型应用场景介绍/125
6.2Excel导出实战/127
6.2.1Excel导出开发流程详解/127
6.2.2基于POI实现Excel的导出/128
6.2.3基于EasyExcel实现Excel的导出/132
6.3Excel导入实战/135
6.3.1Excel导入开发流程详解/135
1366.3.2基于POI实现Excel的导入/
6.3.3基于EasyExcel实现Excel的导入/139
6.3.4两种实现方式的对比/142
第7章缓存中间件Redis实战
7.1Redis简介与典型应用场景/145
7.2使用Redis/146
7.2.1快速安装Redis/146
7.2.2在Windows环境下使用Redis/147
7.2.3Spring Boot 2.0整合与配置Redis/150
7.2.4自定义注入与配置Redis模板操作组件Bean/151
7.2.5RedisTemplate实战/152
7.2.6StringRedisTemplate实战/154
7.3Redis常见数据结构/157
7.3.1字符串String/157
7.3.2列表List/158
7.3.3集合Set/160
7.3.4有序集合SortedSet/161
7.3.5哈希Hash存储/163
7.3.6Key失效与判断是否存在/165
7.4Redis消息订阅发布机制/167
7.4.1消息订阅发布机制简介/167
7.4.2Spring Boot整合Redis实现消息订阅发布/169
7.4.3接口功能测试/172
7.5Redis实战场景之缓存击穿/172
7.5.1什么是缓存击穿/173
7.5.2缓存击穿的解决方案/173
7.4.3代码实战之并发场景复现/174
7.5.4代码实战之分布式锁/180
7.6Redis实战场景之缓存穿透/184
7.6.1什么是缓存穿透/184
7.6.2缓存穿透的解决方案/185
7.6.3代码实战实现过程/186
7.6.4其他典型的问题/188
第8章消息中间件RabbitMQ实战
8.1RabbitMQ为何物/190
8.1.1RabbitMQ简介/190
8.1.2常见的应用场景/191
8.1.3安装RabbitMQ与Web管理界面介绍/196
8.1.4RabbitMQ入门代码实战/196
8.2Spring Boot整合RabbitMQ/201
8.2.1RabbitMQ专用组件介绍/201
8.2.2Spring Boot整合RabbitMQ/202
8.2.3自定义注入RabbitMQ操作组件/203
8.2.4发送接收消息实战/204
8.3基于RabbitMQ多种交换器的消息模型实战/208
8.3.1基于FanoutExchange的消息模型实战/208
8.3.2基于DirectExchange的消息模型实战/213
8.3.3基于TopicExchange的消息模型实战/216
8.4典型应用场景实战之异步发送邮件/221
8.4.1整体业务流程介绍与分析/221
8.4.2数据库表设计与Mybatis逆向工程/222
8.4.3基于DirectExchange的消息模型发送接收邮件/223
8.4.4业务场景功能接口测试/226
8.5RabbitMQ死信队列与延迟队列/227
8.5.1简介、作用与典型应用场景/227
8.5.2RabbitMQ死信队列之消息模型/229
8.5.3RabbitMQ死信队列代码实战/231
8.5.4RabbitMQ延迟队列之消息模型/235
8.5.5RabbitMQ延迟队列代码实战/238
8.5.6RabbitMQ死信队列与延迟队列对比/241
第3篇Spring Boot企业项目实战与总结篇
第9章企业项目开发实战之权限管理平台
9.1企业权限管理平台整体介绍/246
9.1.1权限管理简介与系统整体介绍/246
9.1.2数据库表设计与Mybatis逆向工程/249
9.1.3项目整体搭建流程介绍/255
9.1.4用户认证与授权框架Shiro简介/261
9.2用户登录功能实战/262
9.2.1整体开发流程介绍/263
9.2.2验证码组件配置与生成图形验证码/264
9.2.3开发Controller接收用户登录请求/266
9.2.4整合Shiro完成用户的登录功能/267
9.3部门与菜单模块开发实战/271
9.3.1相关数据库表介绍/272
9.3.2部门模块实战之列表数据获取/273
9.3.3基于treeGrid实现页面布局与列表展示/277
9.3.4新增与修改部门功能实战/279
9.3.5菜单模块实战之列表数据获取/286
9.3.6基于treeGrid实现页面布局与列表展示/290
9.3.7新增与修改菜单功能实战/292
9.4角色与用户模块开发实战/301
9.4.1相关数据库表介绍/301
9.4.2角色模块实战之列表数据获取/304
9.4.3新增与修改角色功能实战/308
9.4.4用户模块实战之列表数据获取/316
9.4.5新增与修改用户功能实战/320
9.4.6权限控制实战/329
9.5系统安全性防护、日志存储与部署上线/338
9.5.1系统安全性防护之XSS攻击和SQL注入防御/338
9.5.2日志存储的必要性与日志列表展示/344
9.5.3基于Spring AOP与自定义注解实现日志存储/347
9.5.4项目部署上线/352
后记 总结与回顾