Spring Boot + Vue 開發實戰

朱建昕

買這商品的人也買了...

商品描述

本書採用“項目貫穿式”的形式編寫,從一個實戰項目入手,將知識點融入其中,循序漸進地全面介紹Spring Boot和Vue的知識點,並分析源碼、剖析原理,使讀者能夠快速地將知識轉換成技能,順利地進行項目開發實戰。軟件開發技術日新月異、不勝枚舉,常常讓人置身其中,不知如何取捨。本書會對同類技術進行充分地對比,並釐清前後端技術三十年的發展脈絡,使讀者在工作中具備根據項目的規模、應用場景,做好恰當的架構設計和技術選型的能力。

作者簡介

朱建昕曾在世界五百強公司、國內上市軟件公司從事過開發、架構、管理等工作,曾在IT職業培訓公司擔任過Java講師、教學總監等職務,研究方向為Java、JavaScript、Spring家族、Vue 。

目錄大綱

第1章Spring Boot入門1
1.1 Spring Boot介紹1
1.1.1 Spring Boot特性3
1.1.2 Spring Initializr 3
1.2開發環境4
1.2.1 JDK 5
1.2.2 Maven 5
1.2.3 Git 5
1.2.4 MySQL 5
1.2.5 Eclipse 6
1.2.6 STS 6
1.2.7 Intellij IDEA 6
1.2.8 IDEA中集成Maven 8
1. 3 Spring Boot案例8
1.3.1創建項目9
1.3.2項目結構14
1.3.3第一個案例17
1.4 Spring Boot Test 18
1.4.1環境配置18
1.4. 2單元測試18
1.5項目需求與設計19
1.5.1 Alan人事管理系統20
1.5.2技術選型20
1.5.3員工管理模塊和部門管理模塊21
1.5.4權限管理模塊22
1.5.5數據庫設計23
1.5.6實體類設計24
1.5.7界面設計26
1.6本章總結27

第2章SSM框架28
2.1創建SSM項目29
2.1.1創建Maven Module 29
2.1.2配置SSM依賴31
2.2 SSM整合34
2.2.1項目結構34
2.2.2配置文件詳解36
2.3 MyBatis 39
2.3.1解耦合40
2.3.2參數42
2.3.3關聯關係45
2.3.4動態語句48
2.3.5 DAO層設計49
2 .4 Spring 50
2.4.1 DI 50
2.4.2 AOP 51
2.4.3對DAO層和Service層支持52
2.4.4 Service設計53
2.5 Spring MVC 54
2.5.1 URL映射54
2.5.2接收參數56
2.5.3轉發、重定向、響應JSON 57
2.5.4 Controller設計60
2.6 JSP 62
2.7部署項目66
2.7.1配置Tomcat 66
2.7.2運行訪問67
2.8本章總結68

第3章傳統Web前端設計69
3.1前端設計介紹69
3.1.1網頁設計技術70
3.1.2網站通信技術72
3.2複製搭建項目73
3.3 Bootstrap 75
3.3.1靜態文件引用規則76
3.3.2柵格化76
3.3.3控件77
3.3 .4 Bootstrap項目實戰77
3.4 jQuery 79
3.4.1常用API 79
3.4.2 jQuery項目實戰80
3.5 iframe頁面復用技術82
3.6 AJAX 84
3.6.1 AJAX特性85
3.6.2 AJAX項目實戰86
3.6.3模態框88
3.6.4 JavaScript UI介紹89
3.7本章總結91

第4章Spring Boot實戰與原理92
4.1 Spring Boot開發92
4 .1.1項目結構92
4.1.2處理JSP 95
4.2配置文件98
4.2.1 properties和YAML 99
4.2.2 Java Config 101
4.3 Spring Boot項目運行103
4.3. 1內置Web容器103
4.3.2熱部署104
4.3.3啟動類105
4.4 Spring Boot常用推薦技術106
4.4.1 HikariCP數據庫連接池106
4.4.2 Logback日誌108
4.5 Spring Boot原理與源碼分析112
4.5.1依賴與版本管理112
4.5.2 @SpringBootApplication註解114
4.5 .3 Spring Boot啟動流程115
4.6本章總結122

第5章Thymeleaf 123
5.1顯示層技術演變123
5.1.1靜態網頁123
5.1.2 CGI 124
5.1.3 Servlet 124
5. 1.4 JSP 125
5.1.5模板引擎126
5.1.6模板引擎對比127
5.1.7前後端分離128
5.2 Thymeleaf介紹129
5.2.1 Thymeleaf特點129
5.2.2環境搭建130
5.3 Thymeleaf詳解132
5.3.1指令與顯示132
5.3.2表達式133
5.3.3表達式運算134
5.3.4選擇分支136
5.3.5循環137
5.3.6設置屬性值138
5.3.7 CSS修飾140
5.3.8片段141
5.4 Thymeleaf高級特性141
5.4.1全局工具對象141
5.4.2內聯操作143
5.5 Thymeleaf項目實戰144
5.5.1顯示頁面144
5.5.2新增頁面145
5 .5.3修改頁面146
5.6本章總結147

第6章Spring Data JPA 148
6.1相關技術介紹148
6.1.1 Spring Data 148
6.1.2 Hibernate 149
6.1.3 JPA 150
6 .1.4 Spring Data JPA 150
6.2 Spring Data JPA詳解151
6.2.1環境搭建151
6.2.2實體類152
6.2.3 Repository接口154
6.2.4基本增刪改查156
6.2.5方法命名查詢158
6.2.6 JPQL 159
6.3關聯關係163
6.3.1多對一163
6.3.2一對多167
6.3.3多對多170
6 .4 Spring Data JPA項目實戰171
6.4.1實體類開發171
6.4.2 DAO層開發174
6.4.3 Service層及動態條件查詢174
6.4.4視圖層開發176
6.5本章總結180

第7章Redis 181
7.1 Redis介紹181
7.1.1 Redis特點182
7.1. 2 Redis數據結構182
7.2 Redis詳解183
7.2.1安裝Redis 183
7.2.2 Redis命令183
7.3 Spring Boot操作Redis 185
7.3.1 Spring Data Redis 185
7.3.2 Redis Repository 191
7.4 Spring Cache 196
7.4.1 Spring Cache介紹197
7.4.2 Spring Cache詳解197
7.4.3 Spring Cache項目實戰199
7.5本章總結202

第8章Spring Security 203
8. 1安全框架203
8.1.1安全框架比較204
8.1.2 RBAC詳解204
8.1.3 Spring Security環境配置207
8.2認證207
8.2.1 YAML存儲用戶208
8.2.2 Spring Security Config 208
8.2.3配置登錄210
8.2.4內存式用戶213
8.2.5數據庫式用戶214
8.2.6加密技術215
8.3授權219
8.3.1授權配置219
8.3 .2 Config方式223
8.3.3註解方式225
8.3.4過濾URL方式226
8.4視圖層控制230
8.5本章總結231

第9章Vue基礎233
9.1 Vue介紹233
9.1 .1 MVVM思想234
9.1.2前端三大框架介紹235
9.2 DOM編程與MVVM編程對比235
9.2.1改變元素內容案例235
9.2.2表單與表格案例238
9.3 Vue語法240
9.3.1 Vue對象和文本渲染240
9.3.2選擇分支241
9.3.3循環243
9.3.4 CSS處理244
9.3.5事件245
9.3.6表單246
9.4 Vue項目實戰247
9.4.1 Vue環境搭建247
9.4.2員工展示248
9.4.3條件查詢250
9.4.4選中表格數據251
9.4.5改造按鈕與刪除員工252
9.4.6新增員工253
9.4.7修改員工254
9.5本章總結254

第10章RESTful 255
10.1 RESTful介紹256
10.1.1 RESTful原則256
10.1.2 RESTful風格URL 258
10.2 Spring MVC RESTful支持258
10.3 RESTful項目實戰261
10.4測試接口265
10.4.1 HTTP Client可視化測試265
10.4.2 HTTP Client腳本測試267
10.5接口文檔生成工具268
10.5.1 Swagger 269
10.5.2 Swagger項目實戰270
10.5.3 Spring REST Docs 273
10.5.4 Spring REST Docs項目實戰273
10.6本章總結277

第11章前端工程化278
11.1前端工程化簡介278
11.1.1前端工程化的必要性278
11.1.2前端工程化的現狀279
11.2前端工程化技術概覽280
11.2.1 ECMAScript 280
11.2.2 NodeJS 280
11.2.3 npm 281
11.2.4 Webpack 281
11.2.5 Babel 281
11.2.6 Vue CLI 282
11.3 ECMAScript語法282
11.3.1 let和const 282
11.3.2定義對象283
11.3.3 import和export 285
11.3.4箭頭函數286
11.4 Vue前端工程化環境搭建288
11.4.1 NodeJS 288
11.4.2 npm 288
11.4.3 Webpack 288
11.4.4 Vue CLI 289
11.4.5 WebStorm 289
11.5創建Vue項目289
11.5.1 Vue CLI命令行289
11.5.2 Vue項目歡迎頁面代碼解析295
11.6本章總結298

第12章Vue高級299
12.1組件299
12.1.1定義組件300
12.1.2復用組件301
12.1.3組件傳參304
12.2路由307
12.2.1定義路由307
12.2.2路由跳轉309
12.2.3嵌套路由312
12.2.4路由傳參313
12.3 axios 313
12.4前後端分離項目實戰315
12.4.1創建前端項目315
12.4.2引入依賴316
12.4.3員工管理模塊318
12.4.4解決跨域問題319
12.4.5 Index組件320
12.5本章總結322

第13章Element UI 323
13.1 Element UI介紹323
13.1.1 Element UI特點324
13.1.2 Element UI案例324
13.1.3搭建環境325
13.2 Element UI項目實戰326
13.2.1首頁佈局326
13.2.2導航欄328
13.2.3表格329
13.2.4查詢表單331
13.2.5按鈕333
13 .2.6彈出框提示334
13.2.7新增員工表單335
13.2.8自消失彈出框336
13.3本章總結338

第14章SPA富客戶端339
14.1 SPA介紹339
14. 1.1 SPA優缺點340
14.1.2富客戶端設計340
14.2富客戶端項目實戰341
14.2.1 Index視圖組件開發341
14.2.2標籤頁設計342
14.2.3標籤頁優化344
14.2.4彈出框346
14.2.5員工組件重新設計347
14.2. 6組件解耦重構350
14.3本章總結353

第15章前後端分離權限處理354
15.1跨域資源共享354
15.1.1跨域引發項目問題354
15.1.2瀏覽器同源策略357
15.2反向代理358
15.2.1反向代理原理358
15.2.2 ProxyTable 359
15.3 CORS 360
15.3.1 CORS原理360
15.3.2 CORS項目實戰362
15. 4 JWT 364
15.4.1 JWT原理366
15.4.2 JWT項目實戰367
15.4.3 axios攔截器374
15.5前端界面級權限控制376
15.5.1註銷377
15.5.2菜單級權限377
15.6 Vuex 381
15.7本章總結383

第16章項目完善及補充技術384
16.1分頁384
16.1.1後端實現384
16.1.2前端實現387
16.2 CreateTime和ModifyTime 389
16.3文件上傳390
16.3.1 Spring MVC接收文件391
16.3.2表單上傳文件393
16.3.3 AJAX上傳文件395
16 .3.4前後端分離上傳文件397
16.4 Lombok 399
16.5任務調度402
16.5.1 Spring Task 402
16.5.2 Quartz 408
16.6 Hash和History 412
16.6.1 Hash和History的原理413
16.6.2 History項目實戰414
16.7本章總結415

第17章部署416
17.1前端部署416
17.1.1 Vue打包與後端混合部署416
17.1.2 Nginx部署417
17.2後端部署419
17.3 Linux部署420
17.3.1 VMware安裝CentOS 420
17.3.2安裝運行環境423
17.3.3部署運行項目426
17.4最終項目展示428
17. 5本章總結429