目錄
第1章 Spring Boot概述 1
1.1 Spring Boot簡介 1
1.2 Spring Boot的特點 2
1.2.1 快速構建項目 2
1.2.2 嵌入式Web容器 3
1.2.3 易於構建任何應用 3
1.2.4 自動化配置 3
1.2.5 開發者工具 4
1.2.6 強大的應用監控 4
1.2.7 默認提供測試框架 4
1.2.8 可執行Jar部署 4
1.2.9 IDE多樣性 4
1.3 為什麼要學習Spring Boot 5
1.3.1 簡化工作 5
1.3.2 微服務時代 5
1.3.3 社區背景強大 6
1.3.4 市場需求 6
1.4 Spring Boot的發展曆史 7
1.4.1 發布裏程碑(2013.8.6) 7
1.4.2 Spring Boot 1.0(2014.4) 7
1.4.3 Spring Boot 1.1(2014.6) 8
1.4.4 Spring Boot 1.2(2015.3) 8
1.4.5 Spring Boot 1.3(2016.12) 8
1.4.6 Spring Boot 1.4(2017.1) 8
1.4.7 Spring Boot 1.5(2017.2) 9
1.4.8 Spring Boot 2.0(2018.3) 9
1.5 小結 10
第2章 走進Spring Boot 11
2.1 環境搭建 11
2.1.1 JDK安裝 11
2.1.2 IntelliJ IDEA的安裝 12
2.1.3 Maven的安裝 12
2.1.4 IntelliJ IDEA內配置JDK和Maven 15
2.2 新建Spring Boot項目 16
2.2.1 開始創建項目 16
2.2.2 配置JDK版本和Initializr Service URL 17
2.2.3 配置Project Metadata信息 17
2.2.4 配置Spring Boot版本及默認引入組件 18
2.2.5 配置項目名稱和項目位置 18
2.3 項目工程介紹 19
2.3.1 Java類文件 20
2.3.2 資源文件 20
2.3.3 測試類文件 20
2.3.4 pom文件 21
2.4 運行項目 22
2.5 小結 22
第3章 Spring Boot的Web之旅 23
3.1 Spring Boot的第一個Web項目 23
3.1.1 加入Web依賴 23
3.1.2 創建Controller 23
3.1.3 測試運行 24
3.2 WebFlux的使用 25
3.2.1 添加WebFlux依賴 25
3.2.2 創建一個處理方法類 26
3.2.3 創建一個Router類 26
3.2.4 測試運行 27
3.3 使用熱部署 27
3.4 配置文件 28
3.4.1 配置文件類型 28
3.4.2 自定義屬性 28
3.4.3 使用隨機數 29
3.4.4 多環境配置 31
3.4.5 自定義配置文件 31
3.5 使用頁麵模闆 32
3.5.1 使用Thymeleaf 32
3.5.2 使用FreeMarker 35
3.5.3 使用傳統JSP 37
3.6 使用WebJars 39
3.7 國際化使用 41
3.8 文件的上傳和下載 44
3.9 小結 48
第4章 Spring Boot的數據庫之旅 49
4.1 使用數據庫 49
4.1.1 使用MySQL數據庫 49
4.1.2 使用SQL Server數據庫 50
4.1.3 使用Oracle數據庫 51
4.1.4 使用MongoDB數據庫 55
4.1.5 使用Neo4j數據庫 56
4.1.6 使用Redis數據庫 57
4.1.7 使用Memcached數據庫 58
4.2 使用JDBC操作數據庫 58
4.2.1 JDBC依賴配置 59
4.2.2 配置數據庫信息 59
4.2.3 創建實體類 60
4.2.4 使用Controller進行測試 60
4.3 使用JPA操作數據庫 68
4.3.1 JPA介紹 68
4.3.2 JPA依賴配置 68
4.3.3 配置文件 69
4.3.4 創建實體對象 69
4.3.5 創建數據操作層 71
4.3.6 簡單測試運行 73
4.3.7 JPA擴展學習 74
4.3.8 基於WebFlux的使用 75
4.4 使用MyBatis操作數據庫 80
4.4.1 MyBatis簡介 80
4.4.2 MyBatis依賴配置 80
4.4.3 配置文件 80
4.4.4 基於XML的使用 82
4.4.5 基於注解使用 85
4.4.6 測試運行 85
4.4.7 Mybatis-Generator插件學習 87
4.4.8 PageHelper插件 96
4.4.9 Mybatis-Plus插件 97
4.5 配置多數據源 101
4.5.1 多數據源情況分析 102
4.5.2 配置多數據源 102
4.5.3 基於JPA使用多數據源 105
4.5.4 基於MyBatis使用多數據 106
4.6 使用Druid數據庫連接池 108
4.6.1 Druid簡介 108
4.6.2 配置Druid 109
4.6.3 操作數據庫 114
4.6.4 Druid監控頁麵介紹 115
4.7 小結 121
第5章 Spring Boot的緩存之旅 122
5.1 使用Spring Cache 122
5.1.1 Spring Cache簡介 122
5.1.2 配置Spring Cache依賴 124
5.1.3 測試運行 125
5.1.4 驗證緩存 126
5.2 使用Redis 127
5.2.1 Redis簡介 127
5.2.2 項目配置 127
5.2.3 測試運行 129
5.2.4 使用Redis緩存 130
5.3 使用Memcached 132
5.3.1 Memcached簡介 132
5.3.2 配置Memcached依賴 132
5.3.3 使用Memcached緩存 137
5.3.4 Redis與Memcached的區彆 138
5.4 小結 138
第6章 Spring Boot的日誌之旅 139
6.1 Logback日誌 139
6.1.1 Logback簡介 139
6.1.2 日誌格式 140
6.1.3 控製颱輸齣 140
6.1.4 日誌文件輸齣 141
6.1.5 日誌級彆 141
6.1.6 日誌配置 142
6.1.7 基於XML配置日誌 142
6.2 Log4j日誌 145
6.2.1 Log4j簡介 146
6.2.2 Spring Boot使用Log4j 146
6.2.3 控製颱輸齣 146
6.2.4 日誌文件輸齣 147
6.3 Log4j 2日誌 148
6.3.1 Log4j 2簡介 148
6.3.2 Spring Boot使用Log4j 2 150
6.3.3 控製颱輸齣 151
6.3.4 日誌文件輸齣 152
6.3.5 異步日誌 152
6.4 ELK日誌收集 155
6.4.1 ELK日誌收集流程介紹 155
6.4.2 ELK安裝 155
6.4.3 ELK配置 157
6.4.4 使用Kibana查看日誌 159
6.4.5 Spring Boot直接輸齣到Logstash 162
6.4.6 ELK日誌收集優化方案及建議 163
6.5 小結 164
第7章 Spring Boot的安全之旅 165
7.1 使用Shiro安全管理 165
7.1.1 什麼是Shiro 165
7.1.2 使用Shiro做權限控製 167
7.2 使用Spring Security 177
7.2.1 Spring Security簡介 177
7.2.2 使用Spring Security做權限控製 178
7.3 小結 184
第8章 Spring Boot的監控之旅 185
8.1 使用actuator監控 185
8.1.1 actuator是什麼 185
8.1.2 如何使用actuator 185
8.1.3 actuator監控介紹 186
8.1.4 保護HTTP端點 188
8.1.5 健康信息 190
8.1.6 自定義應用程序信息 192
8.1.7 自定義管理端點路徑 192
8.2 使用Admin監控 193
8.2.1 什麼是Spring Boot Admin 193
8.2.2 設置Spring Boot Admin Server 193
8.2.3 Spring Cloud Eureka 194
8.2.4 Spring Boot Admin Client的使用 197
8.2.5 安全驗證 202
8.2.6 JMX-bean管理 203
8.2.7 通知 203
8.3 Prometheus Grafana監控 207
8.3.1 Prometheus的安裝 207
8.3.2 Grafana的安裝 208
8.3.3 Spring Boot項目使用Prometheus 208
8.3.4 Prometheus配置 210
8.3.5 啓動Grafana 211
8.4 小結 213
第9章 Spring Boot的消息之旅 214
9.1 RabbitMQ消息隊列 214
9.1.1 RabbitMQ介紹 214
9.1.2 RabbitMQ的幾種角色 215
9.1.3 RabbitMQ的幾種模式 216
9.1.4 Spring Boot使用RabbitMQ 218
9.2 Kafka消息隊列 226
9.2.1 Kafka介紹 226
9.2.2 Spring Boot使用Kafka 228
9.3 RocketMQ消息隊列 230
9.3.1 RocketMQ介紹 230
9.3.2 Spring Boot使用RocketMQ 231
9.4 消息隊列對比 236
9.5 小結 238
第10章 Spring Boot的搜索之旅 239
10.1 使用Solr 239
10.1.1 Solr簡介 239
10.1.2 Spring Boot使用Solr 240
10.2 使用Elasticsearch 246
10.2.1 Elasticsearch簡介 246
10.2.2 Spring Boot使用Elasticsearch 246
10.2.3 使用Elasticsearch Repository進行操作 247
10.2.4 使用Elasticsearch Template進行操作 248
10.2.5 非聚閤查詢 249
10.2.6 聚閤查詢 251
10.2.7 復雜查詢練習 252
10.3 搜索引擎對比 256
10.3.1 技術背景 256
10.3.2 熱度比較 258
10.3.3 集群部署 259
10.3.4 數據格式 259
10.3.5 效率 259
10.4 小結 259
第11章 Spring Boot的小彩蛋 260
11.1 修改啓動Banner 260
11.1.1 啓動Banner介紹 260
11.1.2 啓動Banner修改 263
11.2 使用LomBok讓編程更簡單 264
11.2.1 什麼是LomBok 264
11.2.2 IntelliJ IDEA安裝Lombok插件 264
11.2.3 如何使用LomBok 265
11.3 郵件發送 266
11.3.1 在Spring Boot中使用郵件發送 266
11.3.2 基礎配置信息 267
11.3.3 文本郵件發送 268
11.3.4 網頁郵件發送 269
11.3.5 附件郵件發送 270
11.3.6 嵌入靜態資源郵件發送 271
11.4 三“器”的使用 272
11.4.1 過濾器 272
11.4.2 攔截器 274
11.4.3 監聽器 275
11.4.4 Spring Boot引用三“器” 276
11.4.5 測試 277
11.5 事務使用 278
11.5.1 事務介紹 278
11.5.2 在項目中使用事務 279
11.5.3 Spring事務拓展介紹 280
11.6 統一處理異常 282
11.6.1 異常介紹 282
11.6.2 Java異常分類 282
11.6.3 Spring Boot中統一處理異常 284
11.7 使用AOP 284
11.7.1 AOP介紹 285
11.7.2 Spring Boot使用AOP 285
11.8 使用validator後颱校驗 288
11.9 使用Swagger構建接口文檔 291
11.9.1 什麼是Swagger 291
11.9.2 Swagger 2注解介紹 291
11.9.3 Spring Boot使用Swagger 293
11.10 使用ApiDoc構建接口文檔 298
11.10.1 如何使用ApiDoc接口文檔 298
11.10.2 ApiDoc常用注解 298
11.10.3 Spring Boot使用ApiDoc 299
11.11 小結 302
第12章 Spring Boot打包部署 303
12.1 使用IDE啓動 303
12.1.1 運行Spring Boot應用程序 303
12.1.2 IntelliJ IDEA啓動多實例 304
12.2 使用Maven啓動 305
12.3 JAR形式啓動 305
12.3.1 使用命令將Spring Boot應用程序打成JAR 305
12.3.2 IntelliJ IDEA打JAR包 306
12.4 War形式啓動 307
12.4.1 創建項目 307
12.4.2 打War包部署到Tomcat 308
12.5 使用Docker構建Spring Boot項目 308
12.5.1 Docker簡介 309
12.5.2 安裝Docker 309
12.5.3 Dockerfile 309
12.5.4 運行Docker鏡像 310
12.6 使用Jenkins自動化部署SpringBoot應用 311
12.6.1 Jenkins簡介 311
12.6.2 Spring Boot應用使用Jenkins 311
12.7 小結 317
第13章 Spring Boot實戰之博客係統 318
13.1 博客的製作思路 318
13.1.1 博客布局介紹 318
13.1.2 博客功能介紹 319
13.2 博客模闆製作 320
13.3 效果展示 325
13.4 依賴配置 328
13.5 配置文件 329
13.6 後颱實體 330
13.6.1 文章錶 330
13.6.2 標簽錶 332
13.6.3 鏈接錶 333
13.6.4 消息錶 333
13.6.5 博客訪問記錄錶 334
13.6.6 博客配置錶 335
13.7 主功能 336
13.7.1 博客頁 336
13.7.2 搜索頁 339
13.7.3 文章詳情頁 341
13.7.4 聯係頁 343
13.8 輔助功能 344
13.8.1 攔截器 344
13.8.2 定時器 345
13.8.3 初始化 346
13.9 小結 347
第14章 Spring Boot實戰之博客後颱係統 350
14.1 博客後颱的製作思路 350
14.1.1 博客後颱布局介紹 350
14.1.2 博客功能介紹 351
14.2 博客後颱模闆製作 352
14.3 效果展示 352
14.4 依賴配置 356
14.5 配置文件 358
14.6 後颱實體 359
14.6.1 用戶錶 359
14.6.2 角色錶 360
14.7 主功能 361
14.7.1 首頁 362
14.7.2 文章管理 363
14.8 輔助功能 368
14.8.1 攔截器 368
14.8.2 定時器 369
14.8.3 認證和授權 370
14.8.4 工具類 373
14.8.5 初始化方法 373
14.9 小結 374
參考文獻 375
· · · · · · (
收起)