1.內(nèi)容簡介
SpringBoot框架可以說是目前微服務(wù)框架的最佳選擇之一,本書以SpringBoot2.0.3版本為例,從0到1對SpringBoot進行了系統(tǒng)的學(xué)習(xí)。從功能點來看,幾乎每一章都是一場不同的SpringBoot之旅。
本書共分為14章,第1章和第2章是學(xué)習(xí)SpringBoot的入門階段,從SpringBoot簡介、發(fā)展史到開發(fā)環(huán)境部署等,讓讀者對Spring Boot有一個初步的認(rèn)識。
第3章到第10章是SpringBoot的融合階段,介紹了Spring Boot搭建Web項目、操作數(shù)據(jù)庫、使用緩存、日志、整合安全框架、結(jié)合消息隊列和搜索框架,這些都是日常開發(fā)中一定會用到的內(nèi)容,經(jīng)過這個階段的學(xué)習(xí),會讓讀者可以熟練的運用SpringBoot進行敏捷開發(fā)。
第11章和第12章是學(xué)習(xí)SpringBoot的拓展階段,主要介紹了SpringBoot的一些常用的小功能和如何在實際應(yīng)用中部署運用。
第13章和第14章是學(xué)習(xí)SpringBoot的實戰(zhàn)階段,經(jīng)過這兩章的學(xué)習(xí),可以對Spring Boot的運用更加熟練,更加貼近真實應(yīng)用。
本書的特點是示例代碼豐富,實用性和系統(tǒng)性較強,讀者可以直接還原書中示例,本書主要適用于初學(xué)者、Java開發(fā)人員、Spring愛好者和架構(gòu)師。
封面圖:

以下是一些實物圖:





其中,實物圖1-4使用的當(dāng)當(dāng)網(wǎng)圖片,5為家中所拍。
2.目錄
第1章 Spring Boot概述
1.1 SpringBoot簡介
1.2 SpringBoot特點
1.2.1 快速構(gòu)建項目
1.2.2 嵌入式Web容器
1.2.3 易于構(gòu)建任何應(yīng)用
1.2.4 自動化配置
1.2.5 開發(fā)者工具
1.2.6 強大的應(yīng)用監(jiān)控
1.2.7 默認(rèn)提供測試框架
1.2.8 可執(zhí)行Jar部署
1.2.9 IDE多樣性
1.3 為什么要學(xué)習(xí)Spring Boot
1.3.1 簡化工作
1.3.2 微服務(wù)時代
1.3.3 社區(qū)背景強大
1.3.4 市場需求
1.4 Spring Boot發(fā)展歷史
1.4.1 發(fā)布里程碑(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 小結(jié)
第2章 走進Spring Boot
2.1 環(huán)境搭建
2.1.1 JDK安裝
2.1.2 IntelliJ IDEA安裝
2.1.3 Maven安裝
2.1.4 IntelliJ IDEA內(nèi)配置JDK和Maven
2.2 新建SpringBoot項目
2.2.1 開始創(chuàng)建項目
2.2.2 配置JDK版本和Initializr Service URL
2.2.3 配置Project Metadata信息
2.2.4 配置SpringBoot版本、默認(rèn)引入組件
2.2.5 配置項目名稱和項目位置
2.3 項目工程介紹
2.3.1 Java類文件
2.3.2 資源文件
2.3.3 測試類文件
2.3.4 pom文件
2.4 運行項目
2.5 小結(jié)
第3章 Spring Boot的Web之旅
3.1 Spring Boot的第一個Web項目
3.1.1 加入Web依賴
3.1.2 創(chuàng)建Controller
3.1.3 測試運行
3.2 WebFlux使用
3.2.1 添加WebFlux依賴
3.2.2 創(chuàng)建一個處理方法類
3.2.3 創(chuàng)建一個Router類
3.2.4 測試運行
3.3 使用熱部署
3.4 配置文件學(xué)習(xí)
3.4.1 配置文件類型
3.4.2 自定義屬性
3.4.3 使用隨機數(shù)
3.4.4 多環(huán)境配置
3.4.5 自定義配置文件
3.5.1 使用Thymeleaf
3.5.2 使用FreeMarker
3.5.3 使用傳統(tǒng)JSP
3.6 使用WebJars
3.7 國際化使用
3.8 文件上傳下載
3.9 小結(jié)
第4章 Spring Boot的數(shù)據(jù)庫之旅
4.1 使用數(shù)據(jù)庫
4.1.1 使用MySQL數(shù)據(jù)庫
4.1.2 使用SQL Server數(shù)據(jù)庫
4.1.3 使用Oracle數(shù)據(jù)庫
4.1.4 使用MongoDB數(shù)據(jù)庫
4.1.5 使用Neo4j數(shù)據(jù)庫
4.1.6 使用Redis數(shù)據(jù)庫
4.1.7 使用Memcached數(shù)據(jù)庫
4.2 使用JDBC操作數(shù)據(jù)庫
4.2.1 JDBC依賴配置
4.2.2 配置數(shù)據(jù)庫信息
4.2.3 創(chuàng)建實體類
4.2.4 使用Controller進行測試
4.3 使用JPA操作數(shù)據(jù)庫
4.3.1 JPA介紹
4.3.2 JPA依賴配置
4.3.3 配置文件
4.3.4 創(chuàng)建實體對象
4.3.5 創(chuàng)建數(shù)據(jù)操作層
4.3.6 簡單測試運行
4.3.7 JPA擴展學(xué)習(xí)
4.3.8 基于WebFlux使用
4.4 使用MyBatis操作數(shù)據(jù)庫
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插件學(xué)習(xí)
4.4.8 PageHelper插件學(xué)習(xí)
4.4.9 Mybatis-Plus插件學(xué)習(xí)
4.5 配置多數(shù)據(jù)源
4.5.1 多數(shù)據(jù)源情況分析
4.5.2 配置多數(shù)據(jù)源
4.5.3 基于JPA使用多數(shù)據(jù)
4.5.4 基于MyBatis使用多數(shù)據(jù)
4.6 使用Druid數(shù)據(jù)庫連接池
4.6.1 Druid簡介
4.6.2 配置Druid
4.6.3 操作數(shù)據(jù)庫
4.6.4 Druid監(jiān)控頁面介紹
4.7 小結(jié)
第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的區(qū)別
5.4 小結(jié)
第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日志收集優(yōu)化方案及建議
6.5 小結(jié)
第7章 Spring.Boot的安全之旅
7.1 使用shiro安全管理
7.1.1 什么是shiro
7.1.2 使用shiro做權(quán)限控制
7.2 使用SpringSecurity
7.2.1 SpringSecurity簡介
7.2.2 使用SpringSecurity做權(quán)限控制
7.3 小結(jié)
第8章 Spring Boot的監(jiān)控之旅
8.1 使用Actuator監(jiān)控
8.1.1 Actuator是什么?
8.1.2 如何使用Actuator
8.1.3 Actuator監(jiān)控介紹
8.1.4 保護HTTP端點
8.1.5 健康信息
8.1.6 自定義應(yīng)用程序信息
8.1.7 自定義管理端點路徑
8.2 使用Admin監(jiān)控
8.2.1 什么是SpringBoot Admin?
8.2.2 設(shè)置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監(jiān)控
8.3.1 Prometheus安裝
8.3.2 Grafana安裝
8.3.3 Spring Boot項目使用Prometheus
8.3.4 Prometheus配置
8.3.5 啟動Grafana
8.4 小結(jié)
第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 小結(jié)
第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 復(fù)雜查詢練習(xí)
10.3 搜索引擎對比篇
10.3.1 技術(shù)背景
10.3.2 熱度比較
10.3.3 集群部署
10.3.4 數(shù)據(jù)格式
10.3.5 效率
10.4 小結(jié)
第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 郵件發(fā)送
11.3.1 Spring Boot使用郵件發(fā)送
11.3.2 基礎(chǔ)配置信息
11.3.3 文本郵件發(fā)送
11.3.4 網(wǎng)頁郵件發(fā)送
11.3.5 附件郵件發(fā)送
11.3.6 嵌入靜態(tài)資源郵件發(fā)送
11.4 三“器”使用
11.4.1 過濾器
11.4.2 攔截器
11.4.3 監(jiān)聽器
11.4.4 Spring Boot引用三“器”
11.4.5 測試
11.5 事務(wù)使用
11.5.1 事務(wù)介紹
11.5.2 項目中使用事務(wù)
11.5.3 Spring事務(wù)拓展介紹
11.6 統(tǒng)一處理異常
11.6.1 異常介紹
11.6.2 Java異常分類
11.6.3 Spring Boot中統(tǒng)一處理異常
11.7 使用AOP
11.7.1 AOP介紹
11.7.2 Spring Boot使用AOP
11.8 使用validator后臺校驗
11.9 使用Swagger構(gòu)建接口文檔
11.9.1 什么是Swagger
11.9.2 Swagger2注解介紹
11.9.3 SpringBoot使用Swagger
11.10 使用ApiDoc構(gòu)建接口文檔
11.10.1 如何使用ApiDoc接口文檔
11.10.2 ApiDoc常用注解
11.10.3 SpringBoot使用ApiDoc
11.11 小結(jié)
第12章 Spring Boot打包部署
12.1 使用IDE啟動
12.1.1 運行Spring Boot應(yīng)用程序
12.1.2 IntelliJ IDEA啟動多實例
12.2 使用Maven啟動
12.3 Jar形式啟動
12.3.1 命令形式將Spring Boot應(yīng)用程序打成Jar
12.3.2 IntelliJ IDEA打Jar包
12.4 War形式啟動
12.4.1 創(chuàng)建項目
12.4.2 打War包部署到Tomcat
12.5 使用Docker構(gòu)建Spring Boot項目
12.5.1 Docker簡介
12.5.2 安裝Docker
12.5.3 Dockerfile
12.5.5 運行Docker鏡像
12.6 使用Jenkins自動化部署Spring Boot應(yīng)用
12.6.1 Jenkins簡介
12.6.2 SpringBoot應(yīng)用使用Jenkins
12.7 小結(jié)
第13章 Spring Boot實戰(zhàn)之博客系統(tǒng)
13.1 博客的制作思路
13.1.1 博客布局介紹
13.1.2 博客功能介紹
13.2 博客模板制作
13.3 效果展示
13.4 依賴配置
13.5 配置文件
13.6 后臺實體
13.6.1 文章表
13.6.2 標(biāo)簽表
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 聯(lián)系頁
13.8 輔助功能
13.8.1 攔截器
13.8.2 定時器
13.8.3 初始化
13.9 小結(jié)
第14章 Spring Boot實戰(zhàn)之博客后臺系統(tǒng)
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 認(rèn)證和授權(quán)
14.8.4 工具類
14.8.5 初始化方法
14.9 小結(jié)
3.專家推薦
大老楊這本書,是我花了3天時間審校的。全書沒有廢話,一切從代碼案例出發(fā),記錄了各種坑的解決方法,是Sprimg Boot初學(xué)者及核心技術(shù)鞏固的最佳實踐。
——泥瓦匠
知易行難,最難的是深入淺出把自己的經(jīng)驗分享給大家,因為你不但要客觀的講述技術(shù)本身,還要公正的加入自己的理解,需要編者較高的眼界和大局觀。在我認(rèn)識的人中,有豐富的項目經(jīng)驗又愿意花時間在教學(xué)實踐上,最終能把各種知識理論體系化的人聊聊無幾,楊洋老師恰好這幾點都具備。快速翻完整本書,句里行間沒有華麗的辭藻,字字出自于實踐,讓我受益匪淺。
——知乎讀者 謝悅
一次偶然的機會認(rèn)識了大老楊,他一直致力于把自己的實踐經(jīng)驗分享給更多熱愛技術(shù)的人,Spring Boot雖然簡化了配置,但是可能造成錯誤的無法捕捉,一個小坑可能讓你寸步難行,這本書包含了開發(fā)中經(jīng)常遇到的細(xì)節(jié)問題,無疑是開發(fā)者手里的Spring Boot良師益友。相信你通過大老楊這本書的學(xué)習(xí),會讓自己的架構(gòu)路上一路小平坡。
——李明(諸葛阿明),公眾號:編程坑太多
如今微服務(wù)如日中天,Spring Boot作為構(gòu)建Spring Cloud全家桶的基礎(chǔ)框架,Java 開發(fā)者必須要做到對Spring Boot運用自如。本書非常全面地對Spring Boot進行了深度剖析,從背景介紹到詳細(xì)使用再到項目實戰(zhàn),環(huán)環(huán)相扣,是一本不可多得的好書。
——尹吉歡,《Spring Cloud 微服務(wù):全棧技術(shù)與案例解析》一書作者,公眾號“猿天地”運營者。
本書全面介紹了使用 Spring Boot 2.x 技術(shù),并且?guī)砹藦牧愕?的實戰(zhàn)之旅。本書可以幫助讀者快速入門并掌握Spring Boot這門技術(shù),閱讀本書,對讀者必有裨益。
——梁桂釗(公眾號「服務(wù)端思維」、《高可用可伸縮微服務(wù)架構(gòu): 基于 Dubbo、Spring Cloud和Service Mesh》聯(lián)合作者)
4.源碼地址
本書對所有文章對應(yīng)配置了源碼,方便讀者進行學(xué)習(xí),源碼地址是:https://gitee.com/dalaoyang/springboot_book
5.購買渠道
現(xiàn)在各大電商網(wǎng)站都已經(jīng)上架了本書,而且都是現(xiàn)貨發(fā)售,至于去哪個途徑購買,讀者可以自行選擇,如以下自營渠道:
6.勘誤
如果文章內(nèi)有任何錯誤 ,可以在本文下方留言反饋 ,也可以加我微信反饋給我本人(微信號dawanzi520),謝謝大家。