我的新书《SpringBoot 2 实战之旅》

1.内容简介

SpringBoot框架可以说是目前微服务框架的最佳选择之一,本书以SpringBoot2.0.3版本为例,从0到1对SpringBoot进行了系统的学习。从功能点来看,几乎每一章都是一场不同的SpringBoot之旅。

本书共分为14章,第1章和第2章是学习SpringBoot的入门阶段,从SpringBoot简介、发展史到开发环境部署等,让读者对Spring Boot有一个初步的认识。

第3章到第10章是SpringBoot的融合阶段,介绍了Spring Boot搭建Web项目、操作数据库、使用缓存、日志、整合安全框架、结合消息队列和搜索框架,这些都是日常开发中一定会用到的内容,经过这个阶段的学习,会让读者可以熟练的运用SpringBoot进行敏捷开发。

第11章和第12章是学习SpringBoot的拓展阶段,主要介绍了SpringBoot的一些常用的小功能和如何在实际应用中部署运用。

第13章和第14章是学习SpringBoot的实战阶段,经过这两章的学习,可以对Spring Boot的运用更加熟练,更加贴近真实应用。

本书的特点是示例代码丰富,实用性和系统性较强,读者可以直接还原书中示例,本书主要适用于初学者、Java开发人员、Spring爱好者和架构师。

封面图:

image

以下是一些实物图:

image
image
image
image
image

其中,实物图1-4使用的当当网图片,5为家中所拍。

2.目录

第1章 Spring Boot概述
1.1 SpringBoot简介
1.2 SpringBoot特点
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 SpringBoot 1.0(2014.4)
1.4.3 SpringBoot 1.1(2014.6)
1.4.4 SpringBoot 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 新建SpringBoot项目
2.2.1 开始创建项目
2.2.2 配置JDK版本和Initializr Service URL
2.2.3 配置Project Metadata信息
2.2.4 配置SpringBoot版本、默认引入组件
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.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 MyBaties依赖配置
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 使用SpringCache
5.1.1 SpringCache简介
5.1.2 配置SpringCache依赖
5.1.3 测试运行
5.1.4 验证缓存
5.2 使用Redis
5.2.1 Redis简介
5.2.2 项目配置
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 SpringBoot使用log4j
6.2.3 控制台输出
6.2.4 日志文件输出
6.3 log4j2日志
6.3.1 log4j2简介
6.3.2 SpringBoot使用log4j2
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.3 使用Kibana查看日志
6.4.4 SpringBoot直接输出到Logstash
6.4.5 ELK日志收集优化方案及建议
6.5 小结
第7章 Spring.Boot的安全之旅
7.1 使用shiro安全管理
7.1.1 什么是shiro
7.1.2 使用shiro做权限控制
7.2 使用SpringSecurity
7.2.1 SpringSecurity简介
7.2.2 使用SpringSecurity做权限控制
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 什么是SpringBoot Admin?
8.2.2 设置SpringBoot Admin Server
8.2.3 SpringCloud 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.2 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 使用ElasticsearchRepository进行操作
10.2.4 使用ElasticsearchTemplate进行操作
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 Swagger2注解介绍
11.9.3 SpringBoot使用Swagger
11.10 使用ApiDoc构建接口文档
11.10.1 如何使用ApiDoc接口文档
11.10.2 ApiDoc常用注解
11.10.3 SpringBoot使用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.5 运行Docker镜像
12.6 使用Jenkins自动化部署Spring Boot应用
12.6.1 Jenkins简介
12.6.2 SpringBoot应用使用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 小结

3.专家推荐

大老杨这本书,是我花了3天时间审校的。全书没有废话,一切从代码案例出发,记录了各种坑的解决方法,是Sprimg Boot初学者及核心技术巩固的最佳实践。
——泥瓦匠

知易行难,最难的是深入浅出把自己的经验分享给大家,因为你不但要客观的讲述技术本身,还要公正的加入自己的理解,需要编者较高的眼界和大局观。在我认识的人中,有丰富的项目经验又愿意花时间在教学实践上,最终能把各种知识理论体系化的人聊聊无几,杨洋老师恰好这几点都具备。快速翻完整本书,句里行间没有华丽的辞藻,字字出自于实践,让我受益匪浅。
——知乎读者 谢悦

一次偶然的机会认识了大老杨,他一直致力于把自己的实践经验分享给更多热爱技术的人,Spring Boot虽然简化了配置,但是可能造成错误的无法捕捉,一个小坑可能让你寸步难行,这本书包含了开发中经常遇到的细节问题,无疑是开发者手里的Spring Boot良师益友。相信你通过大老杨这本书的学习,会让自己的架构路上一路小平坡。
——李明(诸葛阿明),公众号:编程坑太多

如今微服务如日中天,Spring Boot作为构建Spring Cloud全家桶的基础框架,Java 开发者必须要做到对Spring Boot运用自如。本书非常全面地对Spring Boot进行了深度剖析,从背景介绍到详细使用再到项目实战,环环相扣,是一本不可多得的好书。
——尹吉欢,《Spring Cloud 微服务:全栈技术与案例解析》一书作者,公众号“猿天地”运营者。

本书全面介绍了使用 Spring Boot 2.x 技术,并且带来了从零到1的实战之旅。本书可以帮助读者快速入门并掌握Spring Boot这门技术,阅读本书,对读者必有裨益。
——梁桂钊(公众号「服务端思维」、《高可用可伸缩微服务架构: 基于 Dubbo、Spring Cloud和Service Mesh》联合作者)

4.源码地址

本书对所有文章对应配置了源码,方便读者进行学习,源码地址是:https://gitee.com/dalaoyang/springboot_book

5.购买渠道

现在各大电商网站都已经上架了本书,而且都是现货发售,至于去哪个途径购买,读者可以自行选择,如以下自营渠道:

6.勘误

如果文章内有任何错误 ,可以在本文下方留言反馈 ,也可以加我微信反馈给我本人(微信号dawanzi520),谢谢大家。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342