Spring Boot+Spring Cloud+Vue+Element項目實戰:手把手 ( 簡體 字) |
作者:徐麗健 | 類別:1. -> 程式設計 -> JAVA -> Spring |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 51242 詢問書籍請說出此書號!【缺書】 NT售價: 345 元 |
出版日:6/1/2019 |
頁數:300 |
光碟數:0 |
|
站長推薦: |
印刷: | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302528708 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:縱觀當今Web開發領域,優秀的后端開發語言雖有不少,但是Java依然獨占鰲頭,連續多年占據了行業的半壁江山,特別是隨著Spring Boot和Spring Cloud的誕生和流行,集智慧于大成的Spring技術體系成為行業開發的首選之一。在前端領域,也是各種框架齊出,技術更新日新月異,在眾多的技術和框架中,Vue.js、React和Angular.js算是當前核心框架中的佼佼者,各自占有不少市場份額 。市場代表需求,技術代表能力。顯而易見,在當今開發領域中,誰能更好地掌握這些主流開發技術,誰就能在跟別人競爭的時候多一些籌碼,誰就能獲得更好的就業機會、薪資報酬和發展空間。 如何能更好地掌握行業技術呢?抱著技術書籍埋頭苦讀?當然不能死記硬背,我們這樣的開發人員,除了要掌握基礎理論,最重要的還是要多實踐,實踐出真知嘛,大家都知道。要想更好地掌握開發技術和知識,就要進入項目多寫代碼,當然,對于大多數人來說,最好的成長方式,就是能夠進入優秀的項目,跟著優秀的前輩,產出優秀的代碼。然而現實是,很多人并不能夠進入優秀的項目,也無法跟著優秀的前輩學習優秀的代碼。他們苦于想要入門而又找不到門道,想要成長而又找不到方向,往往一不小心就在學習的路上混沌迷茫,不知所措,遂而喪失了信心,萌生了怯意。 關于本書 本書為廣大開發者量身打造,從項目實踐出發,選用當前各種主流的技術,手把手、心貼心地帶著讀者從零開始,一步一步地實現一個完整的后臺權限管理系統。通過整個管理系統的開發和實踐,讓讀者在學成之后能夠熟悉和掌握當前的一些主流技術和方向,且在后續的工作中擁有自主搭建開發環境和完成整個系統開發的能力。后臺權限管理系統是各種業務系統的基礎配備模塊之一,且整個大業務系統中的其他系統大多都要依賴權限系統模塊,所以權限管理系統在整個業務系統中的重要性就不言而喻了。 本書的示例系統稱為Mango權限管理系統,誕生于本教材實踐項目。Mango采用前后端分離架構,前端采用Vue.js作為核心框架,并使用同樣非常流行的Element作為UI框架。前端開發基于NPM環境,使用Visual Studio Code作為IDE編寫代碼。前端使用Mock可以模擬后臺接口數據,可以在沒有后臺的情況下使用大部分功能,所以也適合不會部署后端的開發人員學習和使用。后端則采用Spring Boot + Spring Security + Spring Cloud + MyBatis的主體架構,基于Java環境采用Eclipse開發,使用Maven工具構建,支持使用Swagger進行后臺接口測試。總而言之,Mango是一個基于Spring Boot、Spring Cloud、Vue.js 、Element UI實現,采用前后端分離架構的權限管理系統,也是一款采用當前主流技術實現的界面優雅、架構優良、代碼簡潔、注釋完善、基礎功能相對完整的Java快速開發平臺。讀者可以以此為范例從中學習和汲取技術知識,也可以基于此系統開發和實現具體生產項目。 本人知識有限,經驗尚淺,書中若有謬處,煩請指正,不勝感激。回首當年,我也曾為如何入門而困擾,也因難以進步而迷茫,聊著此書,只為可以幫助更多的人在學習和開發中尋得門道、取得進步和成長,果有人能因此書而獲益,那就是功德無量了。本書適用于業界前后端開發人員和全棧工程師以及廣大想要學習和掌握前后端技術的人員,特別適合那些想要快速提升項目實踐經驗,熟悉和掌握架構開發整個業務系統能力的廣大開發者。讀者在學習和開發的過程中若有什么疑問,歡迎通過電子郵件提問或群聊咨詢。 關于作者 徐麗健,畢業于廣東金融學院,擁有多年Java開發和系統架構經驗,開源技術愛好者和開源代碼貢獻者,閑暇之余愛寫文字,博客園不知名技術博主。現在國內任科技企業的系統架構師一職,主持企業軟件的系統架構和產品研發工作。 代碼下載 本書示例代碼需要從gitee上下載,地址如下: https://gitee.com/liuge1988/mango-platform 如果下載有問題,或者對本書有疑問和建議,請加入本書QQ技術交流群溝通。
著 者 2019年4月 |
內容簡介:本書從項目實踐出發,手把手、心貼心地帶領讀者從零開始,一步一步地開發出功能相對完整的權限管理系統,從而深入掌握當前主流的Spring Boot + Spring Cloud + Vue前后端集成開發技術。 全書分為三篇共32章。第一篇為系統介紹篇,對系統的功能、架構和界面進行介紹,對系統的安裝運行給出指南,對涉及的關鍵技術進行簡單介紹。第二篇為后端實現篇,從數據庫設計和搭建開發環境開始,全面細致地講解權限管理系統的后端實現全過程。第三篇為前端實現篇,從搭建開發環境開始,全面細致地講解權限管理系統的前端實現全過程。 本書適合前后端開發人員和全棧工程師閱讀,也適合高等院校和培訓學校相關專業的師生教學參考。 |
目錄:第一篇系統介紹篇 第1章權限管理系統介紹 3 1.1系統簡介 3 1.2系統架構 4 1.2.1前端架構 4 1.2.2后端架構 4 1.3系統界面 5 1.3.1登錄頁面 5 1.3.2系統主頁 5 1.3.3用戶管理 6 1.3.4機構管理 6 1.3.5角色管理 7 1.3.6菜單管理 7 1.3.7字典管理 8 1.3.8系統配置 8 1.3.9登錄日志 8 1.3.10操作日志 9 1.3.11注冊中心 9 1.3.12接口文檔 9 1.3.13數據監控 10 1.3.14服務監控 11 1.3.15備份還原 11 1.3.16主題切換 11 第2章安裝指南 13 2.1前端安裝指南 13 2.1.1開發環境 13 2.1.2技術選型 13 2.1.3項目結構 13 2.1.4編譯運行 14 2.2后端安裝指南 14 2.2.1開發環境 14 2.2.2技術選型 15 2.2.3項目結構 15 2.2.4編譯運行 15 第3章關鍵技術 17 3.1SpringBoot 17 3.2SpringCloud 17 3.2.1SpringCloud簡介 17 3.2.2SpringCloud架構 17 3.2.3SpringCloud組件 18 3.2.4參考教程 19 3.3SpringSecurity 19 3.4MyBatis 19 3.5Vue.js 19 3.6Element 20 第二篇后端實現篇 第4章數據庫設計 23 4.1數據庫表設計 23 4.2數據庫表關系 23 4.3數據庫表結構 24 4.3.1用戶表(sys_user) 24 4.3.2角色表(sys_role) 25 4.3.3機構表(sys_dept) 25 4.3.4菜單表(sys_menu) 26 4.3.5用戶角色表(sys_user_role) 26 4.3.6角色菜單表(sys_role_menu) 26 4.3.7角色機構表(sys_role_dept) 27 4.3.8字典表(sys_dict) 27 4.3.9配置表(sys_config) 28 4.3.10操作日志表(sys_log) 28 4.3.11登錄日志表(sys_login_log) 28 第5章搭建開發環境 30 5.1開發環境準備 30 5.1.1安裝JDK環境 30 5.1.2安裝Eclipse開發工具 30 5.1.3安裝MySQL數據庫 30 5.1.4安裝Maven構建工具 31 5.2生成項目模板 31 5.3導入Maven項目 31 5.4編譯打包運行 34 5.4.1編譯打包 34 5.4.2啟動應用 35 5.4.3修改啟動端口 35 5.4.4自定義Banner 35 5.4.5接口測試 37 第6章集成Swagger文檔 38 6.1添加依賴 38 6.2配置類 39 6.3頁面測試 39 第7章集成MyBatis框架 41 7.1添加依賴 41 7.2添加配置 42 7.2.1添加MyBatis配置 42 7.2.2添加數據源配置 42 7.2.3修改啟動類 43 7.3生成MyBatis模塊 43 7.4編寫服務接口 44 7.5配置打包資源 46 7.6編譯運行測試 47 第8章集成Druid數據源 48 8.1Druid介紹 48 8.2添加依賴 49 8.3添加配置 49 8.4配置Servlet和Filter 51 8.5編譯運行 53 8.6查看監控 54 8.6.1登錄界面 54 8.6.2監控首頁 55 8.6.3數據源 55 8.6.4SQL監控 55 第9章跨域解決方案 57 9.1什么是跨域 57 9.2CORS技術 57 9.2.1簡單請求 57 9.2.2非簡單請求 58 9.3CORS實現 59 第10章業務功能實現 60 10.1工程結構規劃 60 10.1.1mango-admin 60 10.1.2mango-common 62 10.1.3mango-core 63 10.1.4mango-pom 63 10.1.5打包測試 63 10.2業務代碼封裝 65 10.2.1通用CURD接口 65 10.2.2分頁請求封裝 66 10.2.3分頁結果封裝 67 10.2.4分頁助手封裝 68 10.2.5HTTP結果封裝 69 10.3MyBatis分頁查詢 70 10.3.1添加依賴 70 10.3.2添加配置 71 10.3.3分頁代碼 71 10.3.4接口測試 73 10.4業務功能開發 74 10.4.1編寫DAO接口 74 10.4.2編寫映射文件 74 10.4.3編寫服務接口 75 10.4.4編寫服務實現 75 10.4.5編寫控制器 77 10.5業務接口匯總 78 10.5.1用戶管理 78 10.5.2機構管理 79 10.5.3角色管理 79 10.5.4菜單管理 80 10.5.5字典管理 81 10.5.6系統配置 82 10.5.7登錄日志 82 10.5.8操作日志 83 10.6導出Excel報表 83 10.6.1添加依賴 83 10.6.2編寫服務接口 84 10.6.3編寫服務實現 84 10.6.4編寫控制器 85 10.6.5工具類代碼 86 10.6.6接口測試 87 第11章登錄流程實現 89 11.1登錄驗證碼 89 11.1.1添加依賴 89 11.1.2添加配置 89 11.1.3生成代碼 90 11.1.4接口測試 91 11.2SpringSecurity 91 11.2.1添加依賴 91 11.2.2添加配置 92 11.2.3登錄認證過濾器 93 11.2.4身份驗證組件 96 11.2.5認證信息查詢 97 11.2.6添加權限注解 99 11.2.7Swagger添加令牌參數 100 11.3登錄接口實現 101 11.4接口測試 105 11.5SpringSecurity執行流程剖析 108 第12章數據備份還原 109 12.1新建工程 109 12.2添加依賴 109 12.3添加配置 110 12.4自定Banner 111 12.5啟動類 111 12.6跨域配置 111 12.7Swagger配置 112 12.8數據源屬性 112 12.9備份還原接口 113 12.10備份還原實現 114 12.11備份還原邏輯 114 12.11.1數據備份服務 115 12.11.2數據還原服務 116 12.12備份還原控制器 117 12.12.1數據備份接口 117 12.12.2數據還原接口 117 12.12.3查找備份接口 118 12.12.4刪除備份接口 119 12.13接口測試 119 第13章系統服務監控 123 13.1新建工程 123 13.2添加依賴 123 13.3添加配置 124 13.4自定義Banner 124 13.5啟動類 125 13.6啟動服務端 125 13.7監控客戶端 125 13.8啟動客戶端 126 第14章注冊中心(Consul) 128 14.1什么是Consul 128 14.2Consul安裝 128 14.3monitor改造 129 14.3.1添加依賴 129 14.3.2配置文件 130 14.3.3啟動類 130 14.3.4測試效果 131 14.4backup改造 132 14.4.1添加依賴 132 14.4.2配置文件 132 14.4.3啟動類 133 14.4.4測試效果 134 14.5admin改造 134 14.5.1添加依賴 134 14.5.2配置文件 135 14.5.3啟動類 136 14.5.4測試效果 137 第15章服務消費(Ribbon、Feign) 138 15.1技術背景 138 15.2服務提供者 138 15.2.1新建項目 138 15.2.2配置文件 139 15.2.3啟動類 140 15.2.4自定義Banner 140 15.2.5添加控制器 140 15.3服務消費者 142 15.3.1新建項目 142 15.3.2添加配置 143 15.3.3啟動類 144 15.3.4自定義Banner 144 15.3.5服務消費 144 15.3.6負載均衡器(Ribbon) 147 15.3.7修改啟動類 148 15.3.8添加服務 149 15.3.9頁面測試 149 15.3.10負載策略 149 15.4服務消費(Feign) 150 15.4.1添加依賴 150 15.4.2啟動類 150 15.4.3添加Feign接口 151 15.4.4添加控制器 151 15.4.5頁面測試 152 第16章服務熔斷(Hystrix、Turbine) 153 16.1雪崩效應 153 16.2熔斷器(CircuitBreaker) 153 16.3Hystrix特性 153 16.3.1斷路器機制 153 16.3.2fallback 154 16.3.3資源隔離 154 16.4FeignHystrix154 16.4.1修改配置 154 16.4.2創建回調類 155 16.4.3頁面測試 155 16.5HystrixDashboard156 16.5.1添加依賴 156 16.5.2啟動類 157 16.5.3自定義Banner 157 16.5.4配置文件 158 16.5.5配置監控路徑 158 16.5.6頁面測試 159 16.6SpringCloudTurbine161 16.6.1添加依賴 161 16.6.2啟動類 162 16.6.3配置文件 162 16.6.4測試效果 163 第17章服務網關(Zuul) 164 17.1技術背景 164 17.2SpringCloudZuul 164 17.3Zuul工作機制 165 17.3.1過濾器機制 165 17.3.2過濾器的生命周期 165 17.3.3禁用指定的Filter 167 17.4實現案例 167 17.4.1新建工程 167 17.4.2添加依賴 168 17.4.3啟動類 168 17.4.4配置文件 169 17.4.5頁面測試 169 17.4.6配置接口前綴 170 17.4.7默認路由規則 170 17.4.8路由熔斷 171 17.4.9自定義Filter 172 第18章鏈路追蹤(Sleuth、ZipKin) 174 18.1技術背景 174 18.2ZipKin 174 18.3SpringCloudSleuth 174 18.4實現案例 175 18.4.1下載鏡像 175 18.4.2編寫啟動文件 175 18.4.3啟動服務 176 18.4.4添加依賴 177 18.4.5配置文件 178 18.4.6頁面測試 178 第19章配置中心(Config、Bus) 180 19.1技術背景 180 19.2SpringCloudConfig 180 19.3實現案例 181 19.3.1準備配置文件 181 19.3.2服務端實現 181 19.3.3客戶端實現 185 19.3.4Refresh機制 188 19.3.5SpringCloudBus 191 第三篇前端實現篇 第20章搭建開發環境 201 20.1技術基礎 201 20.2開發環境 201 20.2.1VisualStudioCode 201 20.2.2NodeJS 202 20.2.3安裝webpack 203 20.2.4安裝vue-cli 203 20.2.5淘寶鏡像 203 20.2.6安裝Yarn 203 20.3創建項目 204 20.3.1生成項目 204 20.3.2安裝依賴 205 20.3.3啟動運行 206 第21章前端項目案例 207 21.1導入項目 207 21.2安裝Element 207 21.2.1安裝依賴 207 21.2.2導入項目 208 21.3頁面路由 210 21.3.1添加頁面 210 21.3.2配置路由 210 21.4安裝SCSS 212 21.4.1安裝依賴 212 21.4.2添加配置 212 21.4.3如何使用 212 21.4.4頁面測試 212 21.5安裝axios 213 21.5.1安裝依賴 213 21.5.2編寫代碼 213 21.5.3頁面測試 214 21.6安裝Mock.js 214 21.6.1安裝依賴 215 21.6.2編寫代碼 215 21.6.3頁面測試 216 第22章工具模塊封裝 217 22.1封裝axios模塊 217 22.1.1封裝背景 217 22.1.2封裝要點 217 22.1.3文件結構 217 22.1.4代碼說明 218 22.1.5安裝js-cookie 222 22.1.6測試案例 223 22.2封裝mock模塊 225 22.2.1文件結構 225 22.2.2登錄界面 228 22.2.3主頁界面 229 22.2.4頁面測試 229 第23章第三方圖標庫 230 23.1使用第三方圖標庫 230 23.2FontAwesome 230 23.2.1安裝依賴 230 23.2.2項目引入 230 23.2.3頁面使用 231 23.2.4頁面測試 231 第24章多語言國際化 232 24.1安裝依賴 232 24.2添加配置 232 24.3字符引用 234 24.4頁面測試 235 第25章登錄流程完善 236 25.1登錄界面 236 25.1.1界面設計 236 25.1.2關鍵代碼 236 25.2主頁面 237 25.2.1界面設計 237 25.2.2關鍵代碼 237 25.3頁面測試 240 第26章管理應用狀態 241 26.1安裝依賴 241 26.2添加store 241 26.2.1index.js 242 26.2.2app.js 242 26.3引入Store 243 26.4使用Store 243 26.5收縮組件 244 26.5.1文件結構 244 26.5.2關鍵代碼 244 26.6頁面測試 245 第27章頭部功能組件 247 27.1主題切換組件 247 27.1.1編寫組件 247 27.1.2頁面測試 250 27.2語言切換組件 250 27.2.1編寫組件 250 27.2.2頁面測試 251 27.3用戶信息面板 252 27.3.1編寫組件 252 27.3.2頁面測試 253 27.4系統通知面板 254 27.4.1編寫組件 254 27.4.2頁面測試 255 27.5用戶私信面板 255 27.5.1編寫組件 255 27.5.2頁面測試 256 第28章動態加載菜單 258 28.1添加Store 258 28.2登錄頁面 259 28.3導航守衛 259 28.4導航樹組件 262 28.5頁面測試 263 第29章頁面權限控制 264 29.1權限控制方案 264 29.1.1菜單類型 264 29.1.2權限標識 264 29.1.3菜單表結構 264 29.2導航菜單實現思路 265 29.2.1用戶登錄系統 265 29.2.2根據用戶加載導航菜單 265 29.2.3導航欄讀取菜單樹 265 29.3頁面按鈕實現思路 265 29.3.1用戶登錄系統 265 29.3.2加載權限標識 266 29.3.3頁面按鈕控制 266 29.4權限控制實現 266 29.4.1導航菜單權限 266 29.4.2頁面按鈕權限 267 29.5標簽頁功能 270 29.6系統介紹頁 273 29.7頁面測試 274 第30章功能管理模塊 276 30.1字典管理 276 30.1.1關鍵代碼 276 30.1.2頁面截圖 279 30.2角色管理 279 30.2.1關鍵代碼 279 30.2.2頁面截圖 281 30.3菜單管理 281 30.3.1表格列組件 282 30.3.2創建表格樹 283 30.3.3頁面截圖 284 第31章嵌套外部網頁 285 31.1需求背景 285 31.2實現原理 285 31.3代碼實現 285 31.3.1確定菜單URL 285 31.3.2創建嵌套組件 287 31.3.3綁定嵌套組件 288 31.3.4菜單路由跳轉 290 31.4頁面測試 290 第32章數據備份還原 293 32.1需求背景 293 32.2后臺接口 293 32.3備份頁面 294 32.4頁面引用 296 32.5頁面測試 298 |
序: |