Spring Boot從零開始學(視頻教學版)
內容描述
Spring是Java開發必不可少的框架,是一個龐大的生態系統,Spring Boot正是在Spring這一片肥沃的土壤中生長出來的快速應用開發框架。本書從Spring Boot的工程化組件入手,採用一步一示例的方式引導讀者入門,並通過兩個完整案例幫助讀者學會開發Spring Boot項目。本書配套源碼、PPT課件、教學視頻、思維導圖、開發環境與答疑服務。 本書共分12章。第1~3章介紹構建Spring Boot項目的步驟和Spring Boot Web開發的基礎;第4~9章介紹Spring Boot的多種框架或技術,比如JPA、MyBatis、Redis、Elasticsearch、日誌和安全監控等;第10~11章分別通過客戶管理系統和微博系統兩個簡單的項目,以鞏固讀者對Spring Boot基礎知識的學習;第12章介紹Spring Boot的測試、打包和項目部署功能。 本書從實用的角度出發,結合項目示例,在充分實踐的前提下盡量拓展知識廣度、減少知識盲點,非常適合時間緊張卻需要快速上手Spring Boot的初學者,也可作為高等院校、中職學校和培訓機構電腦軟件開發專業的教材。
目錄大綱
1章 從零起步搭建Spring Boot開發環境 1
1.1 Spring Boot為什麼流行起來 1
1.1.1 Spring Boot的優點 1
1.1.2 Spring Boot的時代背景 2
1.2 搭建開發環境 2
1.2.1 使用Spring官方提供的初始化工具 2
1.2.2 搭建Eclipse開發環境 5
1.2.3 搭建IntelliJ IDEA開發環境 9
1.3 Spring Boot的依賴管理和自動配置 11
1.3.1 依賴管理 12
1.3.2 自動配置 13
1.4 實戰——Spring Boot版本的Hello World 15
2章 工程項目使用Spring Boot的步驟 18
2.1 構建項目 18
2.1.1 構建工具 18
2.1.2 Starter、JAR與依賴 19
2.1.3 再說依賴管理 22
2.2 組織代碼 23
2.2.1 不建議使用default package 23
2.2.2 放置應用的main類 24
2.3 配置類 24
2.3.1 導入其他配置類 24
2.3.2 導入XML配置 25
2.4 再說自動配置 25
2.4.1 用戶配置替換自動配置 25
2.4.2 指定禁用生效的自動配置類 26
2.5 Spring Bean與依賴注入 26
2.6 使用@SpringBootApplication註解 28
2.7 運行程序 28
2.7.1 在IDE中運行 29
2.7.2 打成JAR包運行 29
2.7.3 使用Maven插件運行 30
2.7.4 使用Gradle插件運行 30
2.7.5 熱部署 30
2.8 開發者工具 30
2.8.1 默認配置 31
2.8.2 自動重啟 31
2.8.3 使用LiveReload自動刷新 34
2.8.4 全局設置 34
2.9 打包應用到生產環境 34
2.10 實戰——使用Maven創建完整的工程項目 34
3章 使用Spring Boot進行Web開發 39
3.1 模板引擎 39
3.2 使用Thymeleaf開發示例 40
3.3 上傳文件 43
3.3.1 POM文件配置 43
3.3.2 參數設置 43
3.3.3 編寫前端頁面 44
3.3.4 編寫處理上傳請求的Controller類 44
3.3.5 從瀏覽器上傳文件 45
3.4 使用定時任務 46
3.4.1 POM包配置 46
3.4.2 對自動配置參數的說明 46
3.4.3 編寫定時任務代碼 47
3.4.4 測試定時任務執行 48
3.5 發送郵件 49
3.5.1 POM包配置 49
3.5.2 在application.properties中添加郵箱配置 49
3.5.3 編寫郵件Service類對框架再封裝 50
3.5.4 編寫測試類進行測試 51
3.6 使用Shiro 52
3.6.1 基本配置 52
3.6.2 編寫業務邏輯代碼和頁面 53
3.6.3 在代碼中引入Shiro 55
3.6.4 測試用戶認證和權限管理的效果 58
3.7 實戰——開發一個簡單的Restful API網關 59
4章 使用Spring Boot進行數據庫開發 64
4.1 配置數據源 64
4.1.1 啟動默認數據源 64
4.1.2 配置自定義數據源 65
4.2 使用JdbcTemplate作數據庫 66
4.3 使用Spring Data JPA(Hibernate)作數據 67
4.3.1 基礎知識 67
4.3.2 依賴管理和配置信息 68
4.3.3 使用Spring Data JPA進行開發 69
4.4 整合MyBatis框架 85
4.4.1 MyBatis簡介 85
4.4.2 MyBatis的配置 85
4.4.3 Spring Boot整合MyBatis 88
4.4.4 MyBatis的其他配置 89
4.5 實戰——商品信息管理小系統 90
5章 Spring Boot與Redis 103
5.1 使用spring-data-redis作Redis 103
5.1.1 Spring Data Redis項目的設計 103
5.1.2 RedisTemplate與數據作類的使用 106
5.1.3 RedisCallback、SessionCallback接口和Redis事務的使用 108
5.2 在Spring Boot中配置和使用Redis 109
5.2.1 通過Starter引入Redis相關依賴並配置Redis 110
5.2.2 Redis數據類型及作API 112
5.3 Redis的一些特殊用法 125
5.3.1 Redis事務 125
5.3.2 Redis Pipelined和Lua腳本 126
5.3.3 Redis發布訂閱 126
5.4 使用Spring緩存註解作Redis 127
5.4.1 啟用緩存和配置緩存管理器 127
5.4.2 使用緩存註解開發 128
5.4.3 類實例方法類內部調用時的失效問題 129
5.4.4 緩存臟數據說明 130
5.5 實戰——用Redis改版商品信息管理系統V2.0 130
5.5.1 引入Redis的依賴並配置Redis服務地址和啟用緩存 131
5.5.2 添加@Cacheable和@CacheEvict註解 131
5.5.3 運行程序測試緩存效果 133
6章 Spring Boot整合Elasticsearch 135
6.1 Elasticsearch的使用場景和相關技術 135
6.2 spring-data-elasticsearch支持的Elasticsearch Client 136
6.2.1 Elasticsearch的Client 136
6.2.2 創建RestHighLevelClient 136
6.3 使用operations相關API作Elasticsearch 137
6.3.1 4個Operations接口 137
6.3.2 搜索結果類型 142
6.3.3 查詢條件的封裝 143
6.4 Repository的使用 145
6.4.1 使用註解管理索引實體類 145
6.4.2 查詢方法的定義 147
6.4.3 使用@Query註解定義查詢 148
6.5 在Spring Boot中配置spring-data-elasticsearch 149
7章 Spring Boot的日誌管理 150
7.1 常用的日誌框架 150
7.1.1 日誌實現 150
7.1.2 日誌門面 151
7.2 Spring Boot支持的日誌配置 152
7.2.1 Spring Boot默認支持的日誌框架 152
7.2.2 自定義日誌配置 153
7.2.3 日誌框架的配置文件 157
7.2.4 配置項匯總 157
7.2.5 日誌級別 159
7.2.6 日誌格式和內容 160
7.2.7 輸出到控制台 162
7.2.8 日誌組 163
7.3 輸出到日誌文件的配置 164
7.3.1 配置輸出到日誌文件 164
7.3.2 日誌滾動配置 165
7.4 配置文件擴展 166
7.4.1 定義Profile的個性配置 166
7.4.2 引入Spring Environment Property 167
8章 Spring Boot的安全與監控 168
8.1 安全控制(使用Spring Security) 168
8.1.1 Spring Security的開啟和配置 168
8.1.2 使用Spring Security 171
8.2 使用Actuator監控應用 178
8.2.1 開啟Actuator 178
8.2.2 默認配置 179
8.2.3 Actuator的安全控制 182
8.2.4 Health Endpoint的使用 186
8.2.5 Metrics Endpoint 190
8.2.6 自定義Endpoint 195
9章 Spring Boot數據訪問 199
9.1 自動配置默認數據源 199
9.2 自定義一個或多個數據源 204
9.2.1 在使用默認數據源實例的基礎上自定義配置 204
9.2.2 配置多個數據源 205
9.3 Spring Data JPA與數據源綁定 207
9.4 數據庫的初始化 211
9.4.1 基於SQL腳本初始化數據庫 212
9.4.2 使用JPA和Hibernate時初始化數據庫 213
10章 項目實戰1——客戶管理Web系統 214
10.1 梳理業務需求 214
10.2 技術實現設計 215
10.3 構建項目 216
10.3.1 使用Spring Initializr構建項目 216
10.3.2 配置數據庫 220
10.4 創建數據庫表 221
10.5 開發客戶信息模塊 222
10.5.1 開發系統首頁 222
10.5.2 開發添加客戶頁面和接口 223
10.5.3 開發客戶列表頁面和接口 228
10.5.4 開發編輯客戶信息頁面和接口 232
10.6 開發交易信息模塊 236
10.6.1 在系統首頁增加交易信息導航 236
10.6.2 開發“創建交易”頁面和接口 236
10.6.3 開發“交易列表”頁面 242
10.6.4 開發“編輯交易”頁面 243
10.6.5 開發標註發貨狀態功能 245
11章 項目實戰2——個人博客 249
11.1 梳理業務需求 249
11.2 技術實現設計 250
11.2.1 博客模塊 250
11.2.2 用戶模塊 251
11.2.3 喜歡、取消喜歡博客功能 252
11.3 構建項目 253
11.4 創建數據實體類 255
11.5 開發博客模塊 258
11.5.1 開發發布博客接口和頁面 259
11.5.2 開發博客列表接口和頁面 262
11.5.3 開發博客詳情接口和頁面 264
11.5.4 實現瀏覽次數計數功能 266
11.6 開髮用戶模塊 267
11.6.1 開發登錄相關接口 267
11.6.2 完成登錄頁面 273
11.6.3 測試用戶登錄功能 276
11.6.4 在博客列表頁面增加當前用戶的顯示 277
11.6.5 個人主頁頁面 280
11.7 實現喜歡/取消喜歡博客功能 283
11.7.1 開發“喜歡博客”接口 283
11.7.2 開發“取消喜歡博客”接口 284
11.7.3 修改博客詳情頁面接口,返回當前用戶是否已喜歡 285
11.7.4 修改博客詳情頁面,增加喜歡/取消喜歡按鈕 286
11.7.5 頁面測試 287
11.8 配置Spring Security訪問規則 289
11.8.1 創建管理員用戶 289
11.8.2 配置接口的訪問權限 290
11.8.3 配置僅管理員用戶可以發布博客 291
11.8.4 測試發布博客權限管理 293
12章 Spring Boot項目的測試和部署 295
12.1 配置的切換 295
12.1.1 在項目啟動時指定外部配置文件 295
12.1.2 Spring Profile的使用 299
12.2 Spring Boot的測試功能 301
12.2.1 構建測試類 301
12.2.2 測試的自動配置 305
12.3 打包和部署 308
12.3.1 打包(JAR和WAR) 308
12.3.2 運行項目 310
作者介紹
郭浩然,長期從事Web開發,項目經驗豐富,擅長Java服務器開發,精通Spring系列和持久層的多種框架,熟悉SQL和SQL多種數據庫。對技術保有一顆好奇心,喜歡研究新興技術,致力於做一名隨時代不斷進步技術大牛。