Spring Boot+Vue.js+分布式組件全棧開發訓練營(視頻教學版)(簡體書)
商品資訊
ISBN13:9787302589778
出版社:清華大學出版社(大陸)
作者:曹宇
出版日:2021/10/01
裝訂/頁數:平裝/284頁
規格:24cm*17cm (高/寬)
版次:一版
商品簡介
《Spring Boot+Vue.js+分散式元件全棧開發訓練營(視頻教學版)》以企業應用開發為目標,全面講述Spring Boot整合分散式元件進行全棧項目開發的實戰技能。全書分為三部分。第一部分(第1~9章)主要講述Spring Boot的相關技能,包括搭建Spring Boot開發環境、Spring Boot框架基礎、JPA操作資料庫、面向切面程序設計、基於Thymeleaf和FreeMarker的全棧開發、攔截器和篩檢程式、RESTful規範定義服務、Swagger元件可視化服務、logback和ELK元件輸出日誌、基於Spring Security和Shiro的安全框架技術和基於Junit的單元測試技術。第二部分(第10~15章)主要講述Spring Boot整合諸多分散式組件的技術,包括整合MongoDB、Redis和MyCAT資料層元件、整合Dubbo和Zookeeper、整合RabbitMQ消息中介軟件和基於Nginx的分散式部署。第三部分(第16和17章),第16章以前後端分離項目為例,給出了基於Vue的全棧開發技術,其中前端用到了Vue、Element-UI和Axios等組件,後端用到了Redis緩存元件和MyCAT分庫元件;第17章通過高併發限流和秒殺項目講述了Redis和RabbitMQ等分散式組件的用法。
《Spring Boot+Vue.js+分散式元件全棧開發訓練營(視頻教學版)》是編者十餘年一線Java項目開發經驗的總結,重在解決實際開發中遇到的問題,特別適合具有Java基礎和想學習Spring Boot項目開發的人員使用。由於該書各章還提供了練習題,因此也很適合用作培訓機構和大專院校書的教學用書。
作者簡介
曹宇,副教授,從事高校教育工作17年,主要研究領域為計算機應用技術,主講Java程序設計課程多年,主導開發了EPC企業專利信息協同平臺、大宗商品信息管理系統等多個項目,公開發表了《基於蒙太古語義學和受控自然語言的文獻信息系統的實現》《基於JSON、JavaScript、HTML5和前端存儲技術的均衡運算框架研究》《基於UWB的ROS機器人室內定位系統設計》等論文數十篇。
胡書敏,大連理工大學計算機碩士,有15年Java開發經驗,資深Java架構師,目前在SAP從事Java開發工作,有平安、花旗和IBM等大廠的工作經驗,同時還有近8年Java技術面試官的經驗。出版過《Java Web羽量級開發麵試教程》《Java核心技術及面試指南》《Spring Cloud實戰》等技術圖書。
名人/編輯推薦
Spring Boot已成為眾多軟件公司開發項目的必備技能,如BATJ大廠及很多互聯網公司都在使用該技術進行企業應用開發,因此很多Java程序員都在學習Spring Boot開發的相關技能。
然而,大多數學習Spring Boot的初學者並不瞭解該學哪些知識體系,以及應該學到什麼程度,甚至很多人雖然投入了大量時間,由於沒有抓住要點,或者缺乏企業項目演練,技能提升的效果並不明顯。
本書正是基於上述考慮精心編寫的。本書由兩位具有十餘年Java開發經驗的資深開發工程師編寫,目標是讓讀者通過本書的學習真正掌握Spring Boot開發企業項目的技能。
序
Spring Boot已成為眾多軟件公司開發項目的必備技術,如BATJ大廠及很多待遇好的互聯網公司都在使用該技術進行應用開發,因此很多在校生和擁有一到兩年工作經驗的Java程序員都在學習Spring Boot開發的相關技術。
然而,大多數學習Spring Boot的初學者並不瞭解該學哪些知識體系,以及應該學到什麼程度,甚至很多人雖然投入了大量時間,由於沒有抓住要點,或者缺乏企業項目演練,技能提升也就無從談起了。
本書圍繞項目開發的普遍需求全面講述Spring Boot的相關技術,包括整合資料庫的開發技術和整合前端的全棧開發技術,介紹了整合分散式元件的開發技術以及熱點的企業級項目,以使讀者真正掌握實用開發技能,擁有項目上手能力。
本書的內容介紹
本書的核心內容分為三部分,各部分說明如下:
第一部分(第1~9章)主要講述Spring Boot的相關技能,內容包括搭建Spring Boot開發環境、Spring Boot基本框架、通過JPA操作資料庫技術、面向切面程序設計技術、基於Thymeleaf和FreeMarker的全棧開發技術、攔截器和篩檢程式開發技術、通過RESTful規範定義服務技術、通過Swagger元件可視化服務技術、通過logback和ELK元件輸出日誌技術、基於Spring Security和Shiro的安全框架技術和基於Junit的單元測試技術。通過本部分的學習,讀者能夠掌握Spring Boot開發環境的搭建以及構建項目的基礎技術,尤其是整合資料庫的開發技術和整合前端的全棧開發技術。
第二部分(第10~15章)圍繞高併發項目需求,講述Spring Boot整合MongoDB、ELK、Redis、MyCAT、Dubbo、Zookeeper、RabbitMQ和Nginx等分散式組件的做法。考慮到不少讀者是第一次接觸到這些分散式元件,所以各章都會從搭建環境講起,結合能觀察到運行效果的案例,給出Spring Boot整合諸多組件的實踐要點,確保讀者能在零基礎的前提下學會這些熱門技術。
第三部分(第16和17章),第16章以Spring Boot+Vue.js前後端分離項目為例,給出了基於Vue的全棧開發技術,其中前端用到了Vue、Element-UI和Axios等組件,後端用到了Redis緩存元件和MyCAT分庫元件。通過學習本項目,讀者能夠理解什麼是全棧項目,瞭解前後端分離項目的技術架構與開發流程。第17章通過Spring+Redis+RabbitMQ高併發限流和秒殺項目講述Redis和RabbitMQ等分散式組件的用法。通過本項目的學習,讀者能夠瞭解高併發項目中的限流和秒殺系統的技術架構,大幅提升自己的項目開發技能。
為説明讀者理解各章內容,本書每章還提供了練習題,其中的操作題給出了練習指導,可以幫助讀者動手練習,以鞏固學習成果。
教學視頻+原始程式碼+PPT課件
為幫助讀者更好地學習本書內容,本書還錄製了教學視頻,讀者掃描各章的二維碼即可直接觀看,隨時隨地學習,大幅降低學習難度。
本書所有代碼均在Spring Boot 2.x和IDEA環境下調試通過,所有原始程式碼均提供下載,以方便讀者實戰演練。本書還提供了完整的PPT課件,讀者掃描以下二維碼即可獲取。
目次
目 錄
第1章 搭建Spring Boot開發環境 1
1.1 初識Spring Boot 1
1.1.1 Spring Boot是什麼 1
1.1.2 Spring、Spring MVC和Spring Boot的關係 1
1.1.3 Spring Boot是SSM框架的升級版 2
1.2 搭建Spring Boot的開發環境 3
1.2.1 安裝和配置JDK開發環境 3
1.2.2 安裝IDEA整合式開發環境 5
1.2.3 安裝Maven工具 5
1.2.4 Maven工具與IDEA的集成 6
1.3 用Maven開發第一個Spring Boot項目 8
1.3.1 搭建基於Maven的Spring Boot項目 8
1.3.2 通過pom.xml文件引入依賴包 9
1.3.3 開發第一個Spring Boot項目 11
1.3.4 運行並觀察效果 12
1.3.5 對Spring Boot項目的直觀說明 13
1.4 思考與練習 13
第2章 Spring Boot程序設計基礎 15
2.1 準備知識:什麼是控制反轉 15
2.1.1 以實例瞭解控制反轉的做法 15
2.1.2 Bean與Spring容器 17
2.1.3 控制反轉和依賴注入是一回事 17
2.2 Spring Boot項目的通用框架 18
2.3 開發Spring Boot啟動類 19
2.3.1 對注解@SpringBootApplication的說明 19
2.3.2 配置熱部署 20
2.3.3 通過Banner定制啟動信息 21
2.3.4 關閉定制的啟動接口 22
2.4 編寫控制器類 22
2.4.1 用@Controller注解定義控制器類 22
2.4.2 用@RequestMapping映射請求 24
2.4.3 從請求中讀取參數 26
2.4.4 用produces參數返回JSON格式的結果 27
2.5 編寫業務邏輯類 28
2.5.1 用@Service注解編寫業務處理類 28
2.5.2 在控制器類中調用業務邏輯類的方法 29
2.6 編寫和讀取設定檔 30
2.6.1 配置和讀取.properties文件 30
2.6.2 配置和讀取.yml文件 31
2.6.3 用@Value注解讀取設定檔 32
2.6.4 在項目中用同一種風格讀取設定檔 33
2.7 思考與練習 33
第3章 Spring Boot用JPA操作資料庫 35
3.1 搭建MySQL環境 35
3.1.1 安裝MySQL資料庫和用戶端 35
3.1.2 通過MySQL用戶端創建資料庫連接 36
3.1.3 通過MySQL用戶端創建資料庫 38
3.1.4 在資料庫中創建資料表 39
3.1.5 向資料表中插入若干資料 39
3.2 ORM概念與JPA組件 40
3.2.1 通過ORM分離業務和資料庫操作 40
3.2.2 JPA組件是ORM的解決方案 41
3.2.3 JPA元件的常用接口和實現類 41
3.3 通過JpaRepository訪問資料庫 42
3.3.1 創建項目,引入JPA依賴包 42
3.3.2 確認MySQL資料環境 43
3.3.3 編寫業務實體類 43
3.3.4 編寫JPA的設定檔 44
3.3.5 用JpaRepository編寫Repo類 45
3.3.6 編寫控制器類和業務邏輯類 46
3.3.7 運行觀察增刪改查的效果 48
3.4 實現分頁和排序的JPA接口 49
3.4.1 用PagingAndSortingRepository實現排序和分頁 49
3.4.2 對排序和分頁物件的說明 51
3.5 深入瞭解JPA查詢資料的方式 52
3.5.1 JPA從方法名中解析資料庫操作的方式 52
3.5.2 用@Query查詢資料 53
3.5.3 用nativeQuery參數運行原生SQL語句 53
3.6 通過JPA元件引入事務 54
3.6.1 “要麼全都做,要麼全都不做”的事務 54
3.6.2 用@Transactional注解管理事務 54
3.6.3 定義事務隔離級別 56
3.6.4 定義事務傳播機制 57
3.6.5 @transactional注解使用建議 58
3.7 思考與練習 59
第4章 Spring Boot整合前端範本 60
4.1 Thymeleaf範本與前後端交互 60
4.1.1 用於前後端交互的ModelAndView物件 60
4.1.2 Spring Boot與Thymeleaf整合的範例 61
4.1.3 用Thymeleaf迴圈展示資料 64
4.1.4 用Thymeleaf進行條件判斷 66
4.2 Spring Boot、JPA整合Thymeleaf 67
4.2.1 創建項目並準備資料環境 67
4.2.2 通過JPA獲取資料並傳給前端 68
4.2.3 用Thymeleaf範本演示分頁效果 71
4.3 Spring Boot整合FreeMarker 74
4.3.1 Spring Boot整合FreeMarker的簡單範例 74
4.3.2 用FreeMarker範本展示分頁效果 76
4.4 思考與練習 79
第5章 面向切面程序設計與篩檢程式攔截器 80
5.1 面向切面的概念和做法 80
5.1.1 相關概念 80
5.1.2 用範例瞭解面向切面程序設計 81
5.1.3 環繞通知與攔截器 85
5.2 Spring Boot與攔截器 85
5.2.1 攔截器的重要方法 85
5.2.2 Spring Boot整合多個攔截器 86
5.2.3 從攔截器的運行效果觀察執行順序 90
5.3 Spring Boot與篩檢程式 90
5.3.1 篩檢程式的3個重要方法 90
5.3.2 Spring Boot整合多個篩檢程式 91
5.3.3 從運行效果觀察篩檢程式的執行順序 94
5.3.4 篩檢程式和攔截器的異同點 94
5.4 思考與練習 95
第6章 用RESTful規範提供統一風格的服務 96
6.1 RESTful規範與模組間的通信 96
6.1.1 URL請求、HTTP動作與返回碼 96
6.1.2 什麼是RESTful 97
6.1.3 增刪改查方法對應的RESTful接口名 98
6.1.4 調用不同版本的請求 98
6.2 用RESTful統一項目的對外服務風格 99
6.2.1 創建項目 99
6.2.2 定義pom.xml,編寫啟動類 100
6.2.3 統一返回結果的格式 100
6.2.4 在控制器類中定義增刪改查方法 102
6.2.5 全域性異常處理機制 104
6.3 用RestTemplate調用RESTful請求 105
6.3.1 RestTemplate物件重要方法說明 106
6.3.2 用RestTemplate發起POST請求 106
6.3.3 用RestTemplate發起GET請求 107
6.3.4 觀察異常處理的結果 108
6.3.5 用RestTemplate發起PUT請求 109
6.3.6 用RestTemplate發起DELETE請求 109
6.4 用Swagger可視化RESTful請求 110
6.4.1 Swagger能解決哪些問題 110
6.4.2 用Swagger可視化RESTful請求 110
6.4.3 演示運行效果 112
6.5 思考與練習 114
第7章 Spring Boot整合日誌元件 116
7.1 Spring Boot整合logback輸出日誌 116
7.1.1 Spring Boot整合logback的範例項目 116
7.1.2 用不同級別的日誌輸出不同種類的信息 120
7.1.3 為每個執行緒設置唯一標識,方便追蹤問題 121
7.1.4 格式化日誌檔案名,方便排查問題 122
7.2 搭建ELK元件開發環境 122
7.2.1 ELK元件與工作示意圖 123
7.2.2 搭建ELK運行環境 123
7.3 Spring Boot整合ELK平臺 126
7.3.1 Spring Boot向ELK輸出日誌 126
7.3.2 在Kibana中觀察日誌 127
7.4 思考與練習 129
第8章 Spring Boot整合Junit單元測試元件 131
8.1 瞭解單元測試 131
8.1.1 單元測試的目的及難點分析 131
8.1.2 Junit組件簡介 132
8.1.3 單元測試同其他測試的關係 132
8.2 對待測試項目的分析 133
8.2.1 構建待測試的項目 133
8.2.2 測試要點分析 134
8.3 Spring Boot整合Junit 135
8.3.1 引入Junit依賴包 135
8.3.2 測試控制器方法 135
8.3.3 測試業務處理方法 138
8.3.4 測試資料存取方法 140
8.4 思考與練習 141
第9章 Spring Boot集成安全管理框架 143
9.1 安全管理與Spring Security框架 143
9.1.1 安全管理需求點分析 143
9.1.2 Spring Security框架介紹 144
9.2 Spring Boot整合Spring Security 144
9.2.1 引入依賴包,編寫啟動類和控制類 144
9.2.2 觀察身份驗證效果 145
9.2.3 在設定檔中管理登錄信息 146
9.2.4 以配置類的方式管理登錄信息 146
9.2.5 基於角色的許可權管理 147
9.3 基於資料庫的安全管理框架 149
9.3.1 準備數據 149
9.3.2 創建項目,編寫pom.xml 151
9.3.3 編寫資料庫設定檔 152
9.3.4 從資料庫中獲取安全信息 152
9.4 Spring Boot整合Shiro框架 153
9.4.1 Shiro框架概述 153
9.4.2 Spring Boot整合Shiro框架的範例說明 154
9.4.3 編寫pom.xml檔和啟動類 154
9.4.4 編寫控制器類 155
9.4.5 編寫Shiro相關類 156
9.4.6 編寫登錄等前端代碼 159
9.4.7 觀察基於Shiro的安全驗證流程 160
9.5 思考與練習 161
第10章 Spring Boot整合MongoDB資料庫 163
10.1 瞭解MongoDB 163
10.1.1 MongoDB概述 163
10.1.2 MongoDB的優缺點 164
10.1.3 安裝MongoDB資料庫 164
10.2 使用MongoDB 165
10.2.1 創建資料庫和資料表 165
10.2.2 操作資料表的資料 166
10.3 Spring Boot整合MongoDB 167
10.3.1 項目和資料庫的說明 167
10.3.2 編寫pom檔、啟動類和設定檔 167
10.3.3 編寫業務模型類 168
10.3.4 通過MongoTemplate操作MongoDB 169
10.3.5 通過JPA操作MongoDB 171
10.3.6 觀察運行結果 172
10.4 思考與練習 173
第11章 Spring Boot整合Redis緩存 174
11.1 瞭解Redis 174
11.2 Redis常用命令 176
11.3 Redis基底資料型別 178
11.4 Spring Boot整合Redis 181
11.5 Spring Boot整合資料庫與Redis緩存 186
11.6 思考與練習 194
第12章 Spring Boot整合MyCAT分庫組件 196
12.1 MyCAT分庫組件概述 196
12.2 MyCAT整合MySQL實現分庫效果 198
12.3 Spring Boot整合MyCAT組件 202
12.4 Spring Boot整合Redis與MyCAT組件 206
12.5 思考與練習 211
第13章 Spring Boot整合Dubbo和Zookeeper組件 213
13.1 Zookeeper和Dubbo框架概述 213
13.2 搭建基於Dubbo的服務提供者 215
13.3 編寫調用Dubbo服務的項目 219
13.4 思考與練習 221
第14章 Spring Boot整合RabbitMQ消息中介軟件 222
14.1 RabbitMQ概述 222
14.2 Spring Boot整合RabbitMQ 224
14.3 用RabbitMQ搭建非同步交互系統 229
14.4 思考與練習 235
第15章 項目打包、分散式部署和監控 236
15.1 打包和運行Spring Boot項目 236
15.2 基於Nginx的分散式部署 239
15.3 監控Spring Boot項目 242
15.4 思考與練習 247
第16章 Spring Boot+Vue前後端分離項目的開發 249
16.1 項目概述 249
16.2 後端Spring Boot項目實踐要點 252
16.3 搭建前端Vue項目框架 255
16.4 開發前端頁面 256
16.5 觀察項目的運行效果 265
16.6 思考與練習 267
第17章 Spring+Redis+RabbitMQ限流和秒殺項目的開發 269
17.1 項目概述 269
17.2 基於Redis的Lua腳本分析 270
17.3 實現限流和秒殺功能 272
17.4 以非同步方式保存秒殺結果 278
17.5 思考與練習 283
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。