作者 |
章为忠 等 |
丛书名 |
出版社 |
机械工业出版社 |
ISBN |
9782111151740 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8084734 - Spring Boot从入门到实战--------------------------- 本书针对Spring Boot 2.x以上版本,采用“知识点+实例”的形式编写。本书共17章,重点讲解Spring Boot企业应用开发所涉及的知识点,同时针对某些常见的应用场景提供了完整的解决方案,带领读者从零开始构建一个完整的Spring Boot项目。 本书内容紧扣互联网企业的实际需求,从Sping知识讲到Spring Boot的企业级开发,对于Java开发人员,尤其是初学Spring Boot的人员,以及从传统Spring转向Spring Boot开发的技术人员具有很高的参考价值。 ---------------------------8050520 - Spring Boot 开发实战--------------------------- 本书从Spring Boot基础知识讲起,快速进入应用部署与运维,然后通过实例讲解Spring Boot的应用方法与开发技巧。本书分为三大部分,共16章。第一部分Spring Boot 框架基础包括第1-4章,第1章对Spring Boot进行简单介绍,第2章通过Hello World介绍Spring Boot的基本知识,第3章介绍Spring Boot启动器,第4章介绍Spring Boot自动配置原理。第二部分“Spring Boot应用的测试与运维”包括第5-6章,第5章介绍Spring Boot 应用的自动化测试,第6章介绍Spring Boot应用的部署运维。第三部分“Spring Boot项目综合实战”包括第7-16章,第7章介绍Spring Boot 集成 MVC 开发Web 应用,第8章介绍Spring Boot 集成 MyBatis 开发数据库 ORM 层,第9章介绍Spring Boot 集成 JPA 开发数据库 ORM 层,第10章介绍Spring Boot 集成 Thymeleaf 开发 Web 视图层,第11章介绍Spring Boot 集成 Freemarker 开发 Web 视图层,第12章介绍Spring Boot 集成日志 Logging 系统 sl4j,第13章介绍Spring Boot 集成 Security 开发系统的权限与安全功能,第14章介绍Spring Boot 集成 Shiro 开发系统的权限与安全功能,第15章介绍Spring Boot 集成 Swagger2 实现自动化 API 管理,第16章介绍Spring Boot + Kotlin: 下一代 Java 服务端开发。 |
目录 |
[套装书具体书目] 8050520 - Spring Boot 开发实战 - 9787111603337 - 机械工业出版社 - 定价 89 8084734 - Spring Boot从入门到实战 - 9787111694021 - 机械工业出版社 - 定价 109 ---------------------------8084734 - Spring Boot从入门到实战--------------------------- 前言 第1章 初识Spring Boot ........................................ 1 1.1 Spring Boot是什么 ........................................ 1 1.2 Spring Boot的优点 ........................................ 2 1.3 为什么学习Spring Boot ........................................ 3 1.4 什么是“约定优于配置” ........................................ 4 1.5 Spring、Spring Boot和Spring Cloud的关系 ................................... 4 1.6 本章小结 ........................................ 5 第2章 开始Spring Boot之旅 ........................................ 6 2.1 第一个Spring Boot项目:helloworld ........................................ 6 2.1.1 创建Spring Boot项目 ........................................ 6 2.1.2 项目结构 ........................................ 7 2.1.3 pom.xml详解 ........................................ 9 2.1.4 第一个helloworld程序 ........................................ 11 2.2 单元测试 ........................................ 12 2.2.1 Spring Boot集成单元测试 ........................................ 12 2.2.2 测试Service方法 ........................................ 13 2.2.3 测试Controller接口方法 ........................................ 14 2.2.4 常用的单元测试注解 ........................................ 16 2.3 开发环境热部署 ........................................ 17 2.3.1 devtools实现原理 ........................................ 17 2.3.2 配置开发环境热部署 ........................................ 17 2.4 本章小结 ........................................ 18 2.5 本章练习 ........................................ 19 第3章 Spring Boot的系统配置 ........................................ 20 3.1 系统配置文件 ........................................ 20 3.1.1 application.properties ........................................ 20 3.1.2 application.yml ........................................ 21 3.1.3 Properties与YML配置文件的区别 ....................................... 23 3.1.4 实战:自定义系统的启动图案 ........................................ 23 3.2 自定义配置项 ........................................ 25 3.2.1 @Value ........................................ 25 3.2.2 Environment ........................................ 26 3.2.3 @ConfigurationProperties ........................................ 26 3.2.4 使用配置文件注意事项 ........................................ 28 3.3 其他配置 ........................................ 28 3.3.1 随机数 ........................................ 28 3.3.2 配置引用 ........................................ 29 3.4 日志配置 ........................................ 30 3.4.1 Spring Boot日志简介 ........................................ 30 3.4.2 配置日志格式 ........................................ 31 3.4.3 日志输出级别 ........................................ 31 3.4.4 保存日志文件 ........................................ 32 3.5 实战:实现系统多环境配置 ........................................ 33 3.5.1 多环境的配置 ........................................ 33 3.5.2 多环境的切换 ........................................ 34 3.6 本章小结 ........................................ 36 3.7 本章练习 ........................................ 36 第4章 Web开发 ........................................ 37 4.1 Web开发简介 ........................................ 37 4.1.1 Web入门 ........................................ 37 4.1.2 @Controller和@RestController ........................................ 39 4.1.3 @RequestMapping ........................................ 40 4.1.4 @ResponseBody ........................................ 41 4.2 URL映射 ........................................ 42 4.2.1 URL路径匹配 ........................................ 42 4.2.2 Method匹配 ........................................ 43 4.2.3 consumes和produces匹配 ........................................ 43 4.2.4 params和header匹配 ........................................ 44 4.3 参数传递 ........................................ 44 4.3.1 @PathVariable ........................................ 45 4.3.2 使用Bean对象接收参数 ........................................ 46 4.3.3 @RequsetBody接收JSON数据 ........................................ 47 4.3.4 @ModelAttribute ........................................ 47 4.3.5 ModelAndView对象 ........................................ 48 4.4 数据验证 ........................................ 49 4.4.1 Hibernate Validator简介 ........................................ 49 4.4.2 数据校验 ........................................ 50 4.4.3 自定义校验 ........................................ 53 4.5 拦截器 ........................................ 54 4.5.1 应用场景 ........................................ 54 4.5.2 HandlerInterceptor简介 ........................................ 54 4.5.3 使用HandlerInterceptor实现拦截器 ........................................ 55 4.6 过滤器 ........................................ 56 4.6.1 过滤器简介 ........................................ 56 4.6.2 使用FilterRegistrationBean实现过滤器 ........................................ 57 4.7 Web配置 ........................................ 58 4.7.1 WebMvcConfigurer简介 ........................................ 58 4.7.2 跨域访问 ........................................ 58 4.7.3 数据转换配置 ........................................ 59 4.7.4 静态资源 ........................................ 59 4.7.5 跳转指定页面 ........................................ 60 4.8 实战:实现优雅的数据返回 ........................................ 60 4.8.1 为什么要统一返回值 ........................................ 60 4.8.2 统一数据返回 ........................................ 61 4.8.3 全局异常处理 ........................................ 66 4.9 本章小结 ........................................ 67 4.10 本章练习 ........................................ 68 第5章 Thymeleaf模板引擎 ........................................ 69 5.1 Thymeleaf入门 ........................................ 69 5.1.1 Thymeleaf简介 ........................................ 69 5.1.2 Spring Boot使用Thymeleaf ........................................ 70 5.1.3 Thymeleaf常用的配置参数 ........................................ 72 5.2 Thymeleaf表达式 ........................................ 73 5.2.1 变量表达式 ........................................ 73 5.2.2 选择或星号表达式 ........................................ 73 5.2.3 URL表达式 ........................................ 74 5.2.4 文字国际化表达式 ........................................ 75 5.3 表达式的语法 ........................................ 76 5.3.1 赋值和拼接 ........................................ 76 5.3.2 条件判断 ........................................ 77 5.3.3 switch ........................................ 78 5.3.4 循环遍历 ........................................ 79 5.3.5 运算符 ........................................ 81 5.4 Thymeleaf的高级用法 ........................................ 82 5.4.1 内联 ........................................ 82 5.4.2 内置对象 ........................................ 85 5.4.3 内嵌变量 ........................................ 86 5.5 Thymeleaf页面布局 ........................................ 88 5.5.1 引入代码片段 ........................................ 88 5.5.2 片段表达式语法规范 ........................................ 89 5.5.3 可参数化片段 ........................................ 90 5.5.4 实战:实现页面整体布局 ........................................ 90 5.6 本章小结 ........................................ 93 5.7 本章练习 ........................................ 93 第6章 构建RESTful服务 ........................................ 94 6.1 RESTful简介 ........................................ 94 6.1.1 什么是RESTful ........................................ 94 6.1.2 HTTP Method ........................................ 95 6.1.3 HTTP状态码 ........................................ 96 6.1.4 REST与SOAP的区别 ........................................ 97 6.2 构建RESTful应用接口 ........................................ 97 6.2.1 Spring Boot对RESTful的支持 ........................................ 98 6.2.2 Spring Boot实现RESTful API ........................................ 99 6.3 使用Swagger生成Web API文档 ........................................ 102 6.3.1 什么是Swagger ........................................ 102 6.3.2 使用Swagger生成Web API文档 ........................................ 102 6.3.3 为Swagger添加token参数........................................ 105 6.3.4 Swagger常用注解 ........................................ 107 6.4 实战:实现Web API版本控制 ........................................ 108 6.4.1 为什么进行版本控制 ........................................ 108 6.4.2 Web API的版本控制 ........................................ 108 6.5 本章小结 ........................................ 112 6.6 本章练习 ........................................ 113 第7章 JdbcTemplate数据连接模板 ........................................ 114 7.1 JdbcTemplate入门 ........................................ 114 7.1.1 JdbcTemplate简介 ........................................ 114 7.1.2 Spring Boot集成JdbcTemplate........................................ 115 7.2 使用JdbcTemplate操作数据库 ........................................ 117 7.2.1 实现学生数据管理功能 ........................................ 117 7.2.2 复杂查询 ........................................ 120 7.3 实战:实现JdbcTemplate多数据源 ........................................ 123 7.3.1 什么是多数据源 ........................................ 123 7.3.2 配置JdbcTemplate多数据源 ........................................ 123 7.4 本章小结 ........................................ 126 7.5 本章练习 ........................................ 126 第8章 数据库持久层框架MyBatis ........................................ 127 8.1 MyBatis简介 ........................................ 127 8.1.1 什么是ORM ........................................ 127 8.1.2 什么是MyBatis........................................ 128 8.1.3 MyBatis的核心概念 ........................................ 128 8.1.4 MyBatis的启动流程 ........................................ 129 8.2 Spring Boot构建MyBatis应用程序 ........................................ 129 8.2.1 MyBatis-Spring-Boot-Starter简介........................................ 130 8.2.2 Spring Boot集成MyBatis ........................................ 130 8.2.3 实战:实现学生信息管理模块 ........................................ 133 8.2.4 MyBatis Generator插件 ........................................ 136 8.3 使用XML配置文件实现数据库操作........................................ 139 8.3.1 SQL映射文件 ........................................ 139 8.3.2 定义SQL语句 ........................................ 140 8.3.3 结果映射 ........................................ 143 8.3.4 关联关系 ........................................ 145 8.3.5 SQL代码片段 ........................................ 149 8.3.6 动态SQL拼接 ........................................ 150 8.3.7 格式化输出 ........................................ 151 8.4 使用MyBatis注解实现数据库操作 ........................................ 153 8.4.1 XML和注解的异同 ........................................ 154 8.4.2 使用MyBatis注解实现数据查询 ........................................ 154 8.4.3 参数传递 ........................................ 155 8.4.4 结果映射 ........................................ 157 8.4.5 实战:使用注解方式实现学生信息管理 ...................................... 157 8.5 动态SQL和分页 ........................................ 158 8.5.1 动态SQL语句 ........................................ 159 8.5.2 分页查询 ........................................ 160 8.5.3 多数据源配置 ........................................ 162 8.6 本章小结 ........................................ 165 8.7 本章练习 ........................................ 165 第9章 认识JPA ........................................ 166 9.1 JPA入门 ........................................ 166 9.1.1 JPA简介 ........................................ 166 9.1.2 Spring Data对JPA的支持 ........................................ 167 9.2 在Spring Boot项目中使用JPA ........................................ 168 9.2.1 集成Spring Data JPA ........................................ 168 9.2.2 JpaRepository简介 ........................................ 171 9.2.3 实战:实现人员信息管理模块 ........................................ 172 9.3 简单查询 ........................................ 174 9.3.1 预生成方法 ........................................ 174 9.3.2 自定义简单查询 ........................................ 174 9.3.3 自定义SQL查询 ........................................ 176 9.3.4 已命名查询 ........................................ 177 9.4 复杂查询 ........................................ 179 9.4.1 分页查询 ........................................ 179 9.4.2 排序和限制 ........................................ 180 9.4.3 动态条件查询 ........................................ 181 9.5 实体关系映射 ........................................ 183 9.5.1 关系映射注解 ........................................ 183 9.5.2 一对一 ........................................ 184 9.5.3 一对多和多对一 ........................................ 186 9.5.4 多对多 ........................................ 188 9.6 本章小结 ........................................ 190 9.7 本章练习 ........................................ 191 第10章 搞定定时任务 ........................................ 192 10.1 @Scheduled定时任务 ........................................ 192 10.1.1 使用@Scheduled注解实现定时任务 ........................... 192 10.1.2 时间参数设置 ........................................ 193 10.1.3 多线程定时任务 ........................................ 194 10.2 Cron表达式 ........................................ 195 10.2.1 Cron表达式的语法 ........................................ 195 10.2.2 常用表达式 ........................................ 197 10.3 Quartz定时任务 ........................................ 198 10.3.1 Quartz简介 ........................................ 198 10.3.2 简单定时任务 ........................................ 199 10.3.3 Cron定时任务 ........................................ 201 10.4 实战:实现分布式定时任务 ........................................ 202 10.4.1 分布式任务应用场景 ........................................ 202 10.4.2 使用Quartz实现分布式定时任务 ........................................ 203 10.5 本章小结 ........................................ 212 10.6 本章练习 ........................................ 212 第11章 数据缓存Redis实现高并发 ........................................ 213 11.1 Redis入门 ........................................ 213 11.1.1 Redis简介 ........................................ 213 11.1.2 Redis数据类型 ........................................ 214 11.2 Spring Boot集成Redis实现数据缓存 ...................................... 214 11.2.1 Spring Boot对Redis的支持 ........................................ 215 11.2.2 RedisTemplate ........................................ 216 11.2.3 Spring Boot项目中实现Redis数据缓存 .................................... 217 11.2.4 Redis缓存的常用操作 ........................................ 218 11.3 操作Redis数据结构 ........................................ 221 11.3.1 String ........................................ 221 11.3.2 Hash ........................................ 222 11.3.3 List ........................................ 223 11.3.4 Set ........................................ 223 11.3.5 ZSet ........................................ 224 11.4 实战:实现数据缓存框架 ........................................ 225 11.4.1 数据缓存的原理 ........................................ 225 11.4.2 使用Redis实现数据缓存框架 ........................................ 226 11.4.3 常用缓存注解 ........................................ 228 11.5 实战:实现Session共享 ........................................ 230 11.5.1 分布式Session共享解决方案 ........................................ 230 11.5.2 使用Redis快速实现Session共享 ........................................ 231 11.6 本章小结 ........................................ 233 11.7 本章练习 ........................................ 233 第12章 RabbitMQ消息队列 ........................................ 234 12.1 RabbitMQ入门 ........................................ 234 12.1.1 RabbitMQ简介 ........................................ 234 12.1.2 AMQP ........................................ 235 12.1.3 RabbitMQ组件功能 ........................................ 236 12.1.4 交换机 ........................................ 236 12.2 Spring Boot集成RabbitMQ ........................................ 239 12.2.1 发送和接收消息 ........................................ 239 12.2.2 发送和接收实体对象 ........................................ 241 12.3 消息发送模式 ........................................ 243 12.3.1 简单队列模式 ........................................ 243 12.3.2 工作队列模式 ........................................ 245 12.3.3 路由模式 ........................................ 246 12.3.4 广播模式 ........................................ 249 12.3.5 发布订阅模式 ........................................ 252 12.4 消息确认机制 ........................................ 256 12.4.1 消息确认的场景 ........................................ 256 12.4.2 生产者消息确认机制 ........................................ 256 12.4.3 Return机制 ........................................ 260 12.4.4 消费端ACK和NACK机制 ........................................ 262 12.5 实战:消息的100%可靠性发送 ........................................ 264 12.5.1 应用场景 ........................................ 264 12.5.2 技术方案 ........................................ 265 12.5.3 实现消息的100%可靠性发送 ........................................ 266 12.6 本章小结 ........................................ 269 12.7 本章练习 ........................................ 269 第13章 Elasticsearch搜索引擎 ........................................ 270 13.1 Elasticsearch简介 ........................................ 270 13.1.1 认识Elasticsearch ........................................ 270 13.1.2 Elasticsearch数据结构 ........................................ 271 13.1.3 Elasticsearch客户端 ........................................ 272 13.2 Spring Boot集成Elasticsearch搜索引擎 ................................... 273 13.2.1 Spring Boot对Elasticsearch的支持 ........................................ 273 13.2.2 Spring Boot操作Elasticsearch的方式 ...................................... 273 13.2.3 在Spring Boot项目中集成Elasticsearch .................................... 274 13.3 使用ElasticsearchRepository操作ES ........................................ 277 13.3.1 ElasticsearchRepository简介 ........................................ 277 13.3.2 创建文档 ........................................ 278 13.3.3 查询文档 ........................................ 278 13.3.4 更新文档 ........................................ 279 13.3.5 删除文档 ........................................ 279 13.4 Elasticsearch复杂查询 ........................................ 280 13.4.1 分页查询 ........................................ 280 13.4.2 使用QueryBuilder构建查询条件 ................................. 281 13.5 使用ElasticsearchRestTemplate操作ES ................................ 283 13.5.1 ElasticsearchRestTemplate简介 ..................................... 283 13.5.2 创建文档 ........................................ 284 13.5.3 更新文档 ........................................ 285 13.5.4 删除文档 ........................................ 285 13.5.5 查询文档 ........................................ 286 13.5.6 高亮显示 ........................................ 288 13.6 聚合查询 ........................................ 288 13.6.1 什么是聚合 ........................................ 288 13.6.2 实现统计查询 ........................................ 289 13.6.3 实现聚合查询 ........................................ 290 13.7 本章小结 ........................................ 292 13.8 本章练习 ........................................ 292 第14章 Security安全控制 ........................................ 293 14.1 Security入门 ........................................ 293 14.1.1 Security简介 ........................................ 293 14.1.2 Security的核心组件 ........................................ 294 14.1.3 Security验证流程 ........................................ 295 14.2 Security认证 ........................................ 297 14.2.1 Spring Boot集成Security ........................................ 297 14.2.2 登录认证 ........................................ 298 14.2.3 自定义登录页面 ........................................ 300 14.3 Security授权 ........................................ 302 14.3.1 角色权限 ........................................ 302 14.3.2 方法级别的权限控制 ........................................ 305 14.4 实战:基于数据库的权限控制 ........................................ 306 14.4.1 数据库结构设计 ........................................ 306 14.4.2 实现角色权限控制 ........................................ 309 14.5 本章小结 ........................................ 321 14.6 本章练习 ........................................ 322 第15章 Actuator应用监控 ........................................ 323 15.1 Actuator简介 ........................................ 323 15.1.1 Actuator是什么 ........................................ 323 15.1.2 Spring Boot集成Actuator应用监控框架 .................................... 324 15.2 Actuator监控端点 ........................................ 325 15.2.1 监控端点 ........................................ 325 15.2.2 配置监控端点 ........................................ 326 15.2.3 自定义端点 ........................................ 326 15.3 监控信息 ........................................ 327 15.3.1 健康状态 ........................................ 328 15.3.2 应用基本信息 ........................................ 329 15.3.3 查看Spring容器管理的Bean........................................ 329 15.3.4 自动配置状态 ........................................ 330 15.3.5 配置属性 ........................................ 331 15.3.6 系统环境配置信息 ........................................ 331 15.3.7 JVM堆信息 ........................................ 333 15.3.8 HTTP跟踪 ........................................ 334 15.3.9 性能监控 ........................................ 335 15.4 实战:使用Spring Boot Admin实现运维监控平台 ........................ 338 15.4.1 什么是Spring Boot Admin ........................................ 338 15.4.2 创建服务器端 ........................................ 339 15.4.3 创建客户端 ........................................ 340 15.5 本章小结 ........................................ 342 15.6 本章练习 ........................................ 342 第16章 打包、发布与部署 ........................................ 343 16.1 Spring Boot的打包、发布与部署 ........................................ 343 16.1.1 项目打包 ........................................ 343 16.1.2 运行部署 ........................................ 348 16.2 使用Docker部署Spring Boot项目 ........................................ 350 16.2.1 Docker简介 ........................................ 350 16.2.2 Spring Boot项目添加Docker支持 ........................................ 352 16.2.3 发布Docker镜像........................................ 354 16.3 本章小结 ........................................ 356 16.4 本章练习 ........................................ 356 第17章 综合应用实战:学生信息管理系统 ................................... 357 17.1 系统功能设计 ........................................ 357 17.1.1 功能设计 ........................................ 357 17.1.2 技术选型 ........................................ 357 17.2 构建系统 ........................................ 358 17.2.1 设计数据库 ........................................ 358 17.2.2 框架搭建 ........................................ 359 17.3 实现模块功能 ........................................ 368 17.3.1 数据访问层 ........................................ 368 17.3.2 业务逻辑层 ........................................ 370 17.3.3 控制层 ........................................ 373 17.3.4 前端页面 ........................................ 376 17.4 系统演示 ........................................ 387 17.5 本章小结 ........................................ 388 ---------------------------8050520 - Spring Boot 开发实战--------------------------- 前 言 第Ⅰ部分 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 |