Spring Boot 3核心技術(shù)與最佳實(shí)踐
定 價(jià):158 元
- 作者:周紅亮
- 出版時(shí)間:2023/4/1
- ISBN:9787121452901
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP312.8
- 頁(yè)碼:508
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書是一本針對(duì)Java開(kāi)發(fā)人員的圖書,旨在幫助Java開(kāi)發(fā)人員掌握Spring Boot的基本使用,以及深入了解Spring Boot的應(yīng)用及原理。本書內(nèi)容由淺入深、循序漸進(jìn),第1~5章介紹Spring Boot的基礎(chǔ)知識(shí)(基礎(chǔ)入門、配置管理、Starter、自動(dòng)配置、啟動(dòng)過(guò)程與擴(kuò)展應(yīng)用、日志管理),第6~9章介紹Spring Boot的綜合應(yīng)用(Web、數(shù)據(jù)訪問(wèn)、計(jì)劃任務(wù)、緩存、消息隊(duì)列),第10~12章介紹Spring Boot應(yīng)用的附加能力(調(diào)試、單元測(cè)試、打包、部署、監(jiān)控、報(bào)警),全面覆蓋了Spring Boot的核心知識(shí)要點(diǎn)。本書涵蓋了筆者多年的研究和實(shí)踐經(jīng)驗(yàn),從中提煉出了核心知識(shí)要點(diǎn),從Spring Boot的基本概念和基礎(chǔ)實(shí)踐入手,再通過(guò)大量的知識(shí)點(diǎn)分析及代碼實(shí)踐,詳細(xì)介紹如何利用Spring Boot簡(jiǎn)化開(kāi)發(fā)過(guò)程,提高開(kāi)發(fā)效率。
周紅亮(英文名為John),具有多年編程開(kāi)發(fā)和系統(tǒng)架構(gòu)經(jīng)驗(yàn),在大型互聯(lián)網(wǎng)公司擔(dān)任過(guò)Java高發(fā)開(kāi)發(fā)工程師、開(kāi)發(fā)主管、系統(tǒng)架構(gòu)師等職位。負(fù)責(zé)并參與過(guò)多個(gè)大型分布式系統(tǒng)的設(shè)計(jì)和研發(fā)、改造等,從中積累了大量的微服務(wù)系統(tǒng)架構(gòu)經(jīng)驗(yàn)。同時(shí)也是微信公眾號(hào)“Java技術(shù)棧(ID:javastack)”的作者,筆名 為“棧長(zhǎng)”,關(guān)注并分享最新的Java及IT行業(yè)技術(shù),在公眾號(hào)分享原創(chuàng)文章超過(guò)500篇,全網(wǎng)累積閱讀達(dá)數(shù)千萬(wàn),已幫助大量求職者進(jìn)入BAT等大廠工作。
第1章 Spring Boot基礎(chǔ)入門
1.1 Spring Boot概述
1.1.1 誕生背景
1.1.2 基本介紹
1.1.3 核心思想
1.1.4 基本特性
1.1.5 核心模塊
1.1.6 Spring Boot與Spring MVC、Spring之間的關(guān)系
1.2 Spring Boot安裝集成
1.2.1 版本周期
1.2.2 支持版本
1.2.3 環(huán)境要求
1.2.4 集成方式
1.3 快速開(kāi)發(fā)一個(gè)Spring Boot接口
1.3.1 生成項(xiàng)目
1.3.2 導(dǎo)入依賴
1.3.3 編寫接口
1.3.4 啟動(dòng)應(yīng)用
1.3.5 測(cè)試接口
1.4 快速使用Maven
1.4.1 基本介紹
1.4.2 使用方式
1.4.3 Gradle Wrapper
1.5 Spring Boot CLI
1.5.1 概述
1.5.2 安裝方式
1.5.3 命令行自動(dòng)補(bǔ)全
1.5.4 快速開(kāi)始
1.6 開(kāi)啟Spring Boot之旅
第2章 Spring Boot配置管理
2.1 配置類
2.1.1 自定義配置類
2.1.2 導(dǎo)入配置
2.2 配置文件
2.2.1 application
2.2.2 bootstrap
2.2.3 配置文件類型
2.3 配置綁定
2.3.1 Spring中的配置綁定
2.3.2 參數(shù)綁定
2.3.3 構(gòu)造器綁定
2.3.4 Bean配置綁定
2.3.5 參數(shù)類掃描
2.3.6 配置驗(yàn)證
2.4 外部化配置
2.4.1 配置源
2.4.2 配置優(yōu)先級(jí)
2.4.3 命令行參數(shù)
2.5 導(dǎo)入配置
2.6 隨機(jī)值配置
2.7 多文檔配置
2.7.1 配置格式
2.7.2 激活多文檔配置
2.8 Profile
2.8.1 默認(rèn)的Profile
2.8.2 激活Profile
2.8.3 切換Profile
2.8.4 Profile分組
2.8.5 指定Profile配置文件
2.8.6 使用限制
2.9 加載機(jī)制
2.10 配置加密
2.10.1 概述
2.10.2 使用配置中心(支持自動(dòng)解密)
2.10.3 使用數(shù)據(jù)庫(kù)機(jī)制
2.10.4 使用自定義加/解密機(jī)制
2.10.5 Jasypt Spring Boot
2.11 配置遷移
2.11.1 遷移方案
2.11.2 實(shí)現(xiàn)原理
第3章 Spring Boot Starter與自動(dòng)配置
3.1 概述
3.2 Starter的命名規(guī)范
3.3 Starter的分類
3.3.1 application starter
3.3.2 production starter
3.3.3 technical starter
3.4 自動(dòng)配置
3.4.1 概述
3.4.2 命名規(guī)范
3.4.3 自動(dòng)配置文件的加載原理
3.4.4 自動(dòng)配置原理
3.4.5 自動(dòng)配置報(bào)告
3.4.6 排除自動(dòng)配置
3.4.7 替換自動(dòng)配置
3.5 郵件Starter
3.5.1 概述
3.5.2 發(fā)郵件實(shí)踐
3.6 自定義Starter
3.6.1 創(chuàng)建Starter工程
3.6.2 創(chuàng)建自動(dòng)配置類
3.6.3 注冊(cè)自動(dòng)配置類(spring.factories)
3.6.4 使用Starter
3.6.5 注冊(cè)自動(dòng)配置類(新規(guī)范)
第4章 Spring Boot啟動(dòng)過(guò)程與擴(kuò)展應(yīng)用
4.1 啟動(dòng)入口
4.1.1 應(yīng)用啟動(dòng)類
4.1.2 應(yīng)用啟動(dòng)方法
4.1.3 啟動(dòng)引導(dǎo)類
4.2 關(guān)閉啟動(dòng)日志
4.3 啟動(dòng)失敗分析
4.3.1 失敗分析器
4.3.2 自定義失敗分析器
4.4 全局懶加載
4.5 啟動(dòng)圖案
4.5.1 默認(rèn)圖案
4.5.2 輸出模式
4.5.3 圖案實(shí)現(xiàn)類
4.5.4 自定義圖案
4.6 啟動(dòng)事件和監(jiān)聽(tīng)器
4.6.1 啟動(dòng)事件的順序
4.6.2 自定義事件監(jiān)聽(tīng)器
4.7 啟動(dòng)運(yùn)行器
4.7.1 概述
4.7.2 使用方式
4.8 應(yīng)用啟動(dòng)流程
4.8.1 實(shí)例化流程
4.8.2 啟動(dòng)流程
第5章 Spring Boot日志管理
5.1 概述
5.2 日志格式
5.3 控制臺(tái)日志
5.4 日志文件
5.5 日志級(jí)別
5.6 日志分組
5.7 日志歸檔
5.8 日志配置文件
5.8.1 概述
5.8.2 日志配置模板
5.8.3 自定義日志配置文件
5.9 切換Log4j2日志框架
5.10 切換日志框架版本
5.11 輸出彩色日志
5.11.1 開(kāi)啟彩色日志輸出
5.11.2 日志上色原理
5.11.3 自定義日志顏色
5.12 日志關(guān)閉鉤子
第6章 Spring Boot Web核心應(yīng)用
6.1 概述
6.2 嵌入式容器
6.2.1 概述
6.2.2 容器配置
6.2.3 切換容器
6.2.4 隨機(jī)空閑端口
6.2.5 SSL
6.2.6 持久化
6.2.7 優(yōu)雅關(guān)閉
6.3 自定義Web配置
6.4 注冊(cè)攔截器
6.5 注冊(cè)消息轉(zhuǎn)換器
6.6 注冊(cè)類型轉(zhuǎn)換器
6.7 注冊(cè)Servlet、Filter、Listener
6.7.1 Spring Boot的手動(dòng)注冊(cè)
6.7.2 組件掃描注冊(cè)
6.7.3 動(dòng)態(tài)注冊(cè)
6.8 靜態(tài)資源處理
6.9 模板引擎
6.10 異常處理
6.10.1 默認(rèn)的異常處理
6.10.2 自定義全局異常
6.10.3 自定義異常狀態(tài)碼頁(yè)面
6.11 參數(shù)校驗(yàn)
6.11.1 概述
6.11.2 約束注解
6.11.3 參數(shù)校驗(yàn)示例
6.12 國(guó)際化
6.12.1 概述
6.12.2 自動(dòng)國(guó)際化
6.12.3 切換國(guó)際化
6.13 分布式會(huì)話
6.14 跨域
6.15 安全性
6.15.1 默認(rèn)的安全機(jī)制
6.15.2 自定義安全機(jī)制
6.16 REST服務(wù)調(diào)用
6.16.1 RestTemplate(Servlet)
6.16.2 WebClient(Reactive)
第7章 Spring Boot數(shù)據(jù)訪問(wèn)
7.1 概述
7.2 嵌入式數(shù)據(jù)庫(kù)
7.3 數(shù)據(jù)源
7.3.1 概述
7.3.2 自定義數(shù)據(jù)源
7.4 連接池
7.4.1 概述
7.4.2 使用Druid連接池
7.5 數(shù)據(jù)庫(kù)初始化
7.6 事務(wù)管理
7.6.1 概述
7.6.2 事務(wù)失效的場(chǎng)景
7.7 JdbcTemplate
7.7.1 數(shù)據(jù)庫(kù)操作
7.7.2 自定義JdbcTemplate
7.8 Spring Data JPA
7.8.1 概述
7.8.2 數(shù)據(jù)庫(kù)操作
7.9 MyBatis
7.9.1 概述
7.9.2 數(shù)據(jù)庫(kù)操作
7.10 MyBatis-Plus
7.10.1 概述
7.10.2 通用數(shù)據(jù)庫(kù)操作
7.10.3 自定義數(shù)據(jù)庫(kù)操作
7.11 Redis
7.11.1 概述
7.11.2 Redis環(huán)境搭建
7.11.3 Spring Boot集成Redis
7.12 MongoDB
7.12.1 概述
7.12.2 MongoDB環(huán)境搭建
7.12.3 Spring Boot集成MongoDB
7.13 Elasticsearch
7.13.1 概述
7.13.2 Elasticsearch環(huán)境搭建
7.13.3 Spring Boot集成Elasticsearch
第8章 Spring Boot計(jì)劃任務(wù)
8.1 Spring計(jì)劃任務(wù)
8.1.1 概述
8.1.2 線程池工作流程
8.1.3 實(shí)現(xiàn)計(jì)劃任務(wù)
8.1.4 Cron表達(dá)式
8.1.5 自定義線程池
8.2 Quartz計(jì)劃任務(wù)
8.2.1 概述
8.2.2 實(shí)現(xiàn)計(jì)劃任務(wù)
8.2.3 自定義配置
8.2.4 持久化任務(wù)數(shù)據(jù)
8.2.5 動(dòng)態(tài)維護(hù)任務(wù)
第9章 Spring Boot緩存與消息隊(duì)列
9.1 緩存
9.1.1 概述
9.1.2 開(kāi)啟緩存
9.1.3 默認(rèn)簡(jiǎn)單緩存
9.1.4 Redis緩存
9.2 消息系統(tǒng)
9.2.1 概述
9.2.2 ActiveMQ
9.2.3 RabbitMQ
9.2.4 Kafka
第10章 Spring Boot調(diào)試與單元測(cè)試
10.1 斷點(diǎn)調(diào)試
10.1.1 使用main方法啟動(dòng)調(diào)試
10.1.2 使用Maven插件啟動(dòng)調(diào)試
10.2 開(kāi)發(fā)者工具
10.2.1 概述
10.2.2 默認(rèn)值
10.2.3 自動(dòng)重啟
10.2.4 實(shí)時(shí)重載
10.2.5 全局配置
10.3 單元測(cè)試
10.3.1 概述
10.3.2 真實(shí)環(huán)境測(cè)試
10.3.3 Mock環(huán)境測(cè)試
10.3.4 Mock組件測(cè)試
10.3.5 技術(shù)框架測(cè)試
第11章 Spring Boot打包與部署
11.1 應(yīng)用打包(jar)
11.1.1 概述
11.1.2 快速打包
11.1.3 自定義打包
11.2 應(yīng)用打包(war)
11.2.1 概述
11.2.2 配置war包
11.2.3 開(kāi)始打包
11.3 應(yīng)用運(yùn)行(嵌入式容器)
11.3.1 使用java命令運(yùn)行
11.3.2 直接運(yùn)行
11.3.3 系統(tǒng)服務(wù)運(yùn)行
11.3.4 拆包運(yùn)行
11.4 部署Docker容器
11.4.1 概述
11.4.2 Docker環(huán)境搭建
11.4.3 基于Dockerfile構(gòu)建鏡像
11.4.4 基于Cloud Native Buildpacks構(gòu)建鏡像
11.5 GraalVM原生鏡像(Spring Boot 3.0+)
11.5.1 概述
11.5.2 GraalVM應(yīng)用與傳統(tǒng)應(yīng)用的區(qū)別
11.5.3 創(chuàng)建GraalVM原生鏡像的應(yīng)用
11.5.4 構(gòu)建基于GraalVM的原生鏡像應(yīng)用
第12章 Spring Boot監(jiān)控與報(bào)警
12.1 Spring Boot Actuator概述
12.2 Endpoints(端點(diǎn))
12.2.1 概述
12.2.2 內(nèi)置端點(diǎn)
12.2.3 啟用端點(diǎn)
12.2.4 暴露端點(diǎn)
12.2.5 端點(diǎn)安全性
12.2.6 自定義端點(diǎn)映射
12.2.7 端點(diǎn)實(shí)現(xiàn)機(jī)制
12.2.8 自定義端點(diǎn)
12.3 loggers(日志端點(diǎn))
12.4 Observability(可觀測(cè)性,Spring Boot 3.0+)
12.5 Metrics(指標(biāo))
12.5.1 內(nèi)置指標(biāo)
12.5.2 自定義指標(biāo)
12.6 Traces(鏈路跟蹤,Spring Boot 3.0+)
12.6.1 概述
12.6.2 鏈路跟蹤環(huán)境搭建
12.6.3 鏈路跟蹤/展示
12.7 Spring Boot Admin
12.7.1 概述
12.7.2 環(huán)境搭建
12.7.3 監(jiān)控頁(yè)面
12.7.4 監(jiān)控報(bào)警
12.8 Prometheus+Grafana
12.8.1 概述
12.8.2 Prometheus指標(biāo)暴露
12.8.3 Prometheus環(huán)境搭建
12.8.4 Grafana數(shù)據(jù)可視化
12.8.5 監(jiān)控報(bào)警