主编推荐语
本书是作者使用Spring Boot进行应用开发的经验总结。
内容简介
Spring Boot框架是目前微服务框架的最佳选择之一。本书采用Spring Boot 2.0.3版本讲解,从零起步系统深入地剖析了Spring Boot的核心技术。从功能点出发,每一章都是不同的Spring Boot应用之旅。全书分为14章,第1章和第2章是学习Spring Boot的入门阶段,从Spring Boot简介到开发环境部署等,让读者对Spring Boot有一个初步的认识;第3章到第10章是Spring Boot的融合阶段,介绍了Spring Boot搭建Web项目、操作数据库、使用缓存、日志、整合安全框架、结合消息队列和搜索框架,这些都是日常开发中一定会用到的内容,经过这个阶段的学习,会让读者熟练地运用Spring Boot进行敏捷开发。第11章和第12章是Spring Boot的拓展阶段,主要介绍了Spring Boot的一些常用的功能和如何在实际应用中的部署。第13章和第14章是Spring Boot的实战阶段,经过这两章的学习,使读者对Spring Boot的运用更加熟练,掌握实际项目的开发技能。
本书的特点是示例代码丰富,实用性和系统性较强,读者可以直接还原书中的示例。本书适用于初学者、Java开发人员、Spring爱好者和架构师。
目录
- 版权信息
- 作者简介
- 内容简介
- 前言
- 如何阅读本书
- 本书读者对象
- 本书技术支持
- 源代码下载
- 致谢
- 第1章 Spring Boot概述
- 1.1 Spring Boot简介
- 1.2 Spring Boot的特点
- 1.2.1 快速构建项目
- 1.2.2 嵌入式Web容器
- 1.2.3 易于构建任何应用
- 1.2.4 自动化配置
- 1.2.5 开发者工具
- 1.2.6 强大的应用监控
- 1.2.7 默认提供测试框架
- 1.2.8 可执行Jar部署
- 1.2.9 IDE多样性
- 1.3 为什么要学习Spring Boot
- 1.3.1 简化工作
- 1.3.2 微服务时代
- 1.3.3 社区背景强大
- 1.3.4 市场需求
- 1.4 Spring Boot的发展历史
- 1.4.1 发布里程碑(2013.8.6)
- 1.4.2 Spring Boot 1.0(2014.4)
- 1.4.3 Spring Boot 1.1(2014.6)
- 1.4.4 Spring Boot 1.2(2015.3)
- 1.4.5 Spring Boot 1.3(2016.12)
- 1.4.6 Spring Boot 1.4(2017.1)
- 1.4.7 Spring Boot 1.5(2017.2)
- 1.4.8 Spring Boot 2.0(2018.3)
- 1.5 小结
- 第2章 走进Spring Boot
- 2.1 环境搭建
- 2.1.1 JDK安装
- 2.1.2 IntelliJ IDEA的安装
- 2.1.3 Maven的安装
- 2.1.4 IntelliJ IDEA内配置JDK和Maven
- 2.2 新建Spring Boot项目
- 2.2.1 开始创建项目
- 2.2.2 配置JDK版本和Initializr Service URL
- 2.2.3 配置Project Metadata信息
- 2.2.4 配置Spring Boot版本及默认引入组件
- 2.2.5 配置项目名称和项目位置
- 2.3 项目工程介绍
- 2.3.1 Java类文件
- 2.3.2 资源文件
- 2.3.3 测试类文件
- 2.3.4 pom文件
- 2.4 运行项目
- 2.5 小结
- 第3章 Spring Boot的Web之旅
- 3.1 Spring Boot的第一个Web项目
- 3.1.1 加入Web依赖
- 3.1.2 创建Controller
- 3.1.3 测试运行
- 3.2 WebFlux的使用
- 3.2.1 添加WebFlux依赖
- 3.2.2 创建一个处理方法类
- 3.2.3 创建一个Router类
- 3.2.4 测试运行
- 3.3 使用热部署
- 3.4 配置文件
- 3.4.1 配置文件类型
- 3.4.2 自定义属性
- 3.4.3 使用随机数
- 3.4.4 多环境配置
- 3.4.5 自定义配置文件
- 3.5 使用页面模板
- 3.5.1 使用Thymeleaf
- 3.5.2 使用FreeMarker
- 3.5.3 使用传统JSP
- 3.6 使用WebJars
- 3.7 国际化使用
- 3.8 文件的上传和下载
- 3.9 小结
- 第4章 Spring Boot的数据库之旅
- 4.1 使用数据库
- 4.1.1 使用MySQL数据库
- 4.1.2 使用SQL Server数据库
- 4.1.3 使用Oracle数据库
- 4.1.4 使用MongoDB数据库
- 4.1.5 使用Neo4j数据库
- 4.1.6 使用Redis数据库
- 4.1.7 使用Memcached数据库
- 4.2 使用JDBC操作数据库
- 4.2.1 JDBC依赖配置
- 4.2.2 配置数据库信息
- 4.2.3 创建实体类
- 4.2.4 使用Controller进行测试
- 4.3 使用JPA操作数据库
- 4.3.1 JPA介绍
- 4.3.2 JPA依赖配置
- 4.3.3 配置文件
- 4.3.4 创建实体对象
- 4.3.5 创建数据操作层
- 4.3.6 简单测试运行
- 4.3.7 JPA扩展学习
- 4.3.8 基于WebFlux的使用
- 4.4 使用MyBatis操作数据库
- 4.4.1 MyBatis简介
- 4.4.2 MyBatis依赖配置
- 4.4.3 配置文件
- 4.4.4 基于XML的使用
- 4.4.5 基于注解使用
- 4.4.6 测试运行
- 4.4.7 Mybatis-Generator插件学习
- 4.4.8 PageHelper插件
- 4.4.9 Mybatis-Plus插件
- 4.5 配置多数据源
- 4.5.1 多数据源情况分析
- 4.5.2 配置多数据源
- 4.5.3 基于JPA使用多数据源
- 4.5.4 基于MyBatis使用多数据
- 4.6 使用Druid数据库连接池
- 4.6.1 Druid简介
- 4.6.2 配置Druid
- 4.6.3 操作数据库
- 4.6.4 Druid监控页面介绍
- 4.7 小结
- 第5章 Spring Boot的缓存之旅
- 5.1 使用Spring Cache
- 5.1.1 Spring Cache简介
- 5.1.2 配置Spring Cache依赖
- 5.1.3 测试运行
- 5.1.4 验证缓存
- 5.2 使用Redis
- 5.2.1 Redis简介
- 5.2.2 项目配置
- 5.2.3 测试运行
- 5.2.4 使用Redis缓存
- 5.3 使用Memcached
- 5.3.1 Memcached简介
- 5.3.2 配置Memcached依赖
- 5.3.3 使用Memcached缓存
- 5.3.4 Redis与Memcached的区别
- 5.4 小结
- 第6章 Spring Boot的日志之旅
- 6.1 Logback日志
- 6.1.1 Logback简介
- 6.1.2 日志格式
- 6.1.3 控制台输出
- 6.1.4 日志文件输出
- 6.1.5 日志级别
- 6.1.6 日志配置
- 6.1.7 基于XML配置日志
- 6.2 Log4j日志
- 6.2.1 Log4j简介
- 6.2.2 Spring Boot使用Log4j
- 6.2.3 控制台输出
- 6.2.4 日志文件输出
- 6.3 Log4j 2日志
- 6.3.1 Log4j 2简介
- 6.3.2 Spring Boot使用Log4j 2
- 6.3.3 控制台输出
- 6.3.4 日志文件输出
- 6.3.5 异步日志
- 6.4 ELK日志收集
- 6.4.1 ELK日志收集流程介绍
- 6.4.2 ELK安装
- 6.4.3 ELK配置
- 6.4.4 使用Kibana查看日志
- 6.4.5 Spring Boot直接输出到Logstash
- 6.4.6 ELK日志收集优化方案及建议
- 6.5 小结
- 第7章 Spring Boot的安全之旅
- 7.1 使用Shiro安全管理
- 7.1.1 什么是Shiro
- 7.1.2 使用Shiro做权限控制
- 7.2 使用Spring Security
- 7.2.1 Spring Security简介
- 7.2.2 使用Spring Security做权限控制
- 7.3 小结
- 第8章 Spring Boot的监控之旅
- 8.1 使用actuator监控
- 8.1.1 actuator是什么
- 8.1.2 如何使用actuator
- 8.1.3 actuator监控介绍
- 8.1.4 保护HTTP端点
- 8.1.5 健康信息
- 8.1.6 自定义应用程序信息
- 8.1.7 自定义管理端点路径
- 8.2 使用Admin监控
- 8.2.1 什么是Spring Boot Admin
- 8.2.2 设置Spring Boot Admin Server
- 8.2.3 Spring Cloud Eureka
- 8.2.4 Spring Boot Admin Client的使用
- 8.2.5 安全验证
- 8.2.6 JMX-bean管理
- 8.2.7 通知
- 8.3 Prometheus+Grafana监控
- 8.3.1 Prometheus的安装
- 8.3.2 Grafana的安装
- 8.3.3 Spring Boot项目使用Prometheus
- 8.3.4 Prometheus配置
- 8.3.5 启动Grafana
- 8.4 小结
- 第9章 Spring Boot的消息之旅
- 9.1 RabbitMQ消息队列
- 9.1.1 RabbitMQ介绍
- 9.1.2 RabbitMQ的几种角色
- 9.1.3 RabbitMQ的几种模式
- 9.1.4 Spring Boot使用RabbitMQ
- 9.2 Kafka消息队列
- 9.2.1 Kafka介绍
- 9.2.2 Spring Boot使用Kafka
- 9.3 RocketMQ消息队列
- 9.3.1 RocketMQ介绍
- 9.3.2 Spring Boot使用RocketMQ
- 9.4 消息队列对比
- 9.5 小结
- 第10章 Spring Boot的搜索之旅
- 10.1 使用Solr
- 10.1.1 Solr简介
- 10.1.2 Spring Boot使用Solr
- 10.2 使用Elasticsearch
- 10.2.1 Elasticsearch简介
- 10.2.2 Spring Boot使用Elasticsearch
- 10.2.3 使用Elasticsearch Repository进行操作
- 10.2.4 使用Elasticsearch Template进行操作
- 10.2.5 非聚合查询
- 10.2.6 聚合查询
- 10.2.7 复杂查询练习
- 10.3 搜索引擎对比
- 10.3.1 技术背景
- 10.3.2 热度比较
- 10.3.3 集群部署
- 10.3.4 数据格式
- 10.3.5 效率
- 10.4 小结
- 第11章 Spring Boot的小彩蛋
- 11.1 修改启动Banner
- 11.1.1 启动Banner介绍
- 11.1.2 启动Banner修改
- 11.2 使用LomBok让编程更简单
- 11.2.1 什么是LomBok
- 11.2.2 IntelliJ IDEA安装Lombok插件
- 11.2.3 如何使用LomBok
- 11.3 邮件发送
- 11.3.1 在Spring Boot中使用邮件发送
- 11.3.2 基础配置信息
- 11.3.3 文本邮件发送
- 11.3.4 网页邮件发送
- 11.3.5 附件邮件发送
- 11.3.6 嵌入静态资源邮件发送
- 11.4 三“器”的使用
- 11.4.1 过滤器
- 11.4.2 拦截器
- 11.4.3 监听器
- 11.4.4 Spring Boot引用三“器”
- 11.4.5 测试
- 11.5 事务使用
- 11.5.1 事务介绍
- 11.5.2 在项目中使用事务
- 11.5.3 Spring事务拓展介绍
- 11.6 统一处理异常
- 11.6.1 异常介绍
- 11.6.2 Java异常分类
- 11.6.3 Spring Boot中统一处理异常
- 11.7 使用AOP
- 11.7.1 AOP介绍
- 11.7.2 Spring Boot使用AOP
- 11.8 使用validator后台校验
- 11.9 使用Swagger构建接口文档
- 11.9.1 什么是Swagger
- 11.9.2 Swagger 2注解介绍
- 11.9.3 Spring Boot使用Swagger
- 11.10 使用ApiDoc构建接口文档
- 11.10.1 如何使用ApiDoc接口文档
- 11.10.2 ApiDoc常用注解
- 11.10.3 Spring Boot使用ApiDoc
- 11.11 小结
- 第12章 Spring Boot打包部署
- 12.1 使用IDE启动
- 12.1.1 运行Spring Boot应用程序
- 12.1.2 IntelliJ IDEA启动多实例
- 12.2 使用Maven启动
- 12.3 JAR形式启动
- 12.3.1 使用命令将Spring Boot应用程序打成JAR
- 12.3.2 IntelliJ IDEA打JAR包
- 12.4 War形式启动
- 12.4.1 创建项目
- 12.4.2 打War包部署到Tomcat
- 12.5 使用Docker构建Spring Boot项目
- 12.5.1 Docker简介
- 12.5.2 安装Docker
- 12.5.3 Dockerfile
- 12.5.4 运行Docker镜像
- 12.6 使用Jenkins自动化部署Spring Boot应用
- 12.6.1 Jenkins简介
- 12.6.2 Spring Boot应用使用Jenkins
- 12.7 小结
- 第13章 Spring Boot实战之博客系统
- 13.1 博客的制作思路
- 13.1.1 博客布局介绍
- 13.1.2 博客功能介绍
- 13.2 博客模板制作
- 13.3 效果展示
- 13.4 依赖配置
- 13.5 配置文件
- 13.6 后台实体
- 13.6.1 文章表
- 13.6.2 标签表
- 13.6.3 链接表
- 13.6.4 消息表
- 13.6.5 博客访问记录表
- 13.6.6 博客配置表
- 13.7 主功能
- 13.7.1 博客页
- 13.7.2 搜索页
- 13.7.3 文章详情页
- 13.7.4 联系页
- 13.8 辅助功能
- 13.8.1 拦截器
- 13.8.2 定时器
- 13.8.3 初始化
- 13.9 小结
- 第14章 Spring Boot实战之博客后台系统
- 14.1 博客后台的制作思路
- 14.1.1 博客后台布局介绍
- 14.1.2 博客功能介绍
- 14.2 博客后台模板制作
- 14.3 效果展示
- 14.4 依赖配置
- 14.5 配置文件
- 14.6 后台实体
- 14.6.1 用户表
- 14.6.2 角色表
- 14.7 主功能
- 14.7.1 首页
- 14.7.2 文章管理
- 14.8 辅助功能
- 14.8.1 拦截器
- 14.8.2 定时器
- 14.8.3 认证和授权
- 14.8.4 工具类
- 14.8.5 初始化方法
- 14.9 小结
- 参考文献
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。