《Java EE輕量級框架套用實戰——SSM框架(Spring MVC+Spring+MyBatis)》是2020年7月電子工業出版社出版的圖書,作者是石毅。
基本介紹
- 中文名:Java EE輕量級框架套用實戰——SSM框架(Spring MVC+Spring+MyBatis)
- 作者:石毅
- 出版時間:2020年7月
- 出版社:電子工業出版社
- 頁數:440 頁
- ISBN:9787121391088
- 定價:75 元
- 開本:16 開
內容簡介,圖書目錄,
內容簡介
本書詳細講解Java EE中使用最多的Spring、Spring MVC和MyBatis(簡稱SSM)三大框架的基本知識和套用。隨著網際網路的迅猛發展,SSM框架被越來越多地套用於企業級開發之中,其發展勢頭已經超過大部分Java Web框架,穩居榜首。本書以實用性為原則,採用課堂實錄的形式,以任務為驅動,理論與實踐相結合,重點講解SSM框架在企業開發中常用的核心技術,分別講解MyBatis、Spring和Spring MVC三大框架的精髓內容。在內容上逐層深入,而非一次鋪開。百貨中心供應鏈管理系統”案例貫穿始終,利用各章所學技能對其功能進行實現或最佳化,讓讀者在學習技能的同時獲取項目開發經驗,加深讀者對技術的理解和掌握程度。本書既可作為高等院校本、專科計算機相關專業的程式設計教材,也可作為Java技術的培訓圖書,適合廣大編程愛好者閱讀與使用。
圖書目錄
第1章 初識MyBatis框架 1
1.1 企業級框架技術 1
1.1.1 為什麼學習框架技術 1
1.1.2 框架的概念 3
1.1.3 主流框架的介紹 3
1.2 MyBatis框架簡介 4
1.2.1 數據持久化概念 4
1.2.2 MyBatis框架 5
1.2.3 ORM框架 5
1.2.4 主流的ORM框架 5
1.2.5 MyBatis框架的環境搭建 6
1.2.6 MyBatis框架的優、缺點及其適用場合 15
1.2.7 技能訓練 15
1.3 MyBatis框架的工作原理 16
1.4 MyBatis框架的入門程式 17
1.4.1 查詢用戶 17
1.4.2 技能訓練1 21
1.4.3 添加用戶 21
1.4.4 更新用戶 22
1.4.5 刪除用戶 24
1.4.6 技能訓練2 25
第2章 MyBatis框架的核心配置 28
2.1 MyBatis框架的核心接口和類 28
2.1.1 SqlSessionFactoryBuilder 29
2.1.2 SqlSessionFactory 30
2.1.3 SqlSession 31
2.1.4 技能訓練 34
2.2 MyBatis框架的核心配置檔案 35
2.2.1 mybatis-config.xml檔案結構 35
2.2.2 DTD檔案的引入 44
2.2.3 技能訓練 45
2.3 MyBatis框架的映射檔案 45
2.3.1 主要元素 46
2.3.2 元素 46
2.3.3 元素 47
2.3.4 元素和元素 48
2.3.5 元素 49
2.3.6 元素 50
2.3.7 技能訓練 50
2.4 使用接口實現條件查詢 51
2.4.1 使用select元素完成單條件查詢 51
2.4.2 使用select元素完成多條件查詢 52
2.4.3 實現查詢結果的展現 54
2.4.4 技能訓練 59
2.5 使用接口實現“增刪改”操作 60
2.5.1 使用insert元素完成增加操作 60
2.5.2 使用update元素完成修改操作 61
2.5.3 使用@Param註解實現多參數入參 62
2.5.4 使用delete元素完成刪除操作 63
2.5.5 技能訓練 64
第3章 動態SQL 67
3.1 動態SQL的元素 67
3.2 使用動態SQL完成多條件查詢 68
3.2.1 使用元素if+where實現多條件查詢 68
3.2.2 技能訓練1 73
3.2.3 使用元素if+trim實現多條件查詢 74
3.2.4 元素、元素、元素 75
3.2.5 技能訓練2 77
3.3 使用動態SQL實現更新操作 77
3.3.1 使用元素if+set改造更新操作 77
3.3.2 技能訓練1 80
3.3.3 使用元素if+trim改造修改操作 80
3.3.4 技能訓練2 81
3.4 使用foreach元素完成複雜查詢 81
3.4.1 MyBatis框架入參為數組類型的foreach疊代 82
3.4.2 MyBatis框架入參為List類型的foreach疊代 83
3.4.3 技能訓練1 84
3.4.4 MyBatis框架入參為Map類型的foreach疊代 84
3.4.5 技能訓練2 87
3.5 bind元素 87
第4章 MyBatis框架的關聯映射 91
4.1 關聯映射 91
4.1.1 關聯關係概述 91
4.1.2 resultMap元素的基本配置項 92
4.2 一對一(association) 92
4.2.1 套用案例:用戶和身份證間的關聯 93
4.2.2 套用案例:用戶和用戶角色的關聯 97
4.2.3 技能訓練 102
4.3 一對多(collection) 102
4.3.1 套用案例:用戶角色關聯用戶信息 103
4.3.2 套用案例:商品類型關聯商品信息 105
4.3.3 技能訓練 107
4.4 多對多(collection) 107
4.4.1 套用案例:銷售訂單關聯訂購商品信息 108
4.4.2 技能訓練 112
4.5 resultMap自動映射級別 112
第5章 深入使用MyBatis框架 115
5.1 MyBatis框架實現分頁功能 115
5.1.1 藉助SQL語句進行分頁 116
5.1.2 分頁參數RowBounds 118
5.1.3 使用PageHelper外掛程式實現分頁 120
5.1.4 技能訓練 124
5.2 MyBatis框架的事務管理 124
5.2.1 事務的概念 124
5.2.2 Transaction接口 125
5.2.3 事務的配置創建和使用 125
5.3 MyBatis框架的快取機制 131
5.3.1 一級快取(SqlSession級別) 132
5.3.2 二級快取(mapper級別) 135
5.3.3 技能訓練 139
5.4 常用Annotation註解 139
5.4.1 “增刪改查”註解的使用 140
5.4.2 技能訓練1 144
5.4.3 關聯註解的使用 144
5.4.4 技能訓練2 147
5.4.5 動態SQL 147
5.4.6 技能訓練3 152
5.4.7 二級快取 152
第6章 初識Spring框架 156
6.1 Spring框架概述 156
6.1.1 企業級套用開發 156
6.1.2 Spring框架的體系結構 157
6.1.3 Spring框架的下載及目錄結構 159
6.1.4 Spring框架的優點 161
6.2 Spring框架的核心容器 161
6.2.1 BeanFactory 161
6.2.2 ApplicationContext 162
6.3 Spring框架的入門程式 163
6.4 依賴注入(DI)與控制反轉(IoC) 167
6.4.1 相關概念 167
6.4.2 依賴注入的實現方式 168
6.4.3 理解“控制反轉” 169
6.4.4 技能訓練1 172
6.4.5 深入使用“依賴注入” 172
6.4.6 技能訓練2 175
第7章 Spring框架中的Bean 178
7.1 Bean的配置 178
7.2 Bean的實例化 179
7.2.1 構造器實例化 179
7.2.2 靜態工廠方式實例化 181
7.2.3 實例工廠方式實例化 182
7.2.4 技能訓練 183
7.3 Bean裝配方式—基於XML的裝配 183
7.3.1 常用的依賴注入方式 183
7.3.2 技能訓練1 187
7.3.3 使用p命名空間實現屬性注入 187
7.3.4 技能訓練2 188
7.3.5 注入不同數據類型 188
7.4 Bean裝配方式—基於Annotation裝配 192
7.4.1 使用註解定義Bean 192
7.4.2 使用註解實現Bean組件裝配 193
7.4.3 載入註解定義的Bean 194
7.4.4 技能訓練1 195
7.4.5 使用Java標準註解完成裝配 196
7.4.6 技能訓練2 197
7.5 Bean裝配方式—自動裝配 197
7.6 Bean的作用域 199
7.6.1 作用域的種類 199
7.6.2 singleton 作用域 199
7.6.3 prototype作用域 200
7.6.4 使用註解指定Bean的作用域 201
7.7 Bean的生命周期 201
第8章 Spring AOP 205
8.1 Spring AOP簡介 205
8.1.1 AOP 205
8.1.2 理解“面向切面編程” 206
8.1.3 AOP術語 207
8.2 動態代理 208
8.2.1 JDK動態代理 208
8.2.2 CGLIB代理 211
8.2.3 技能訓練 212
8.3 基於代理類的AOP實現 213
8.3.1 Spring的通知類型 213
8.3.2 ProxyFactoryBean 213
8.3.3 技能訓練 215
8.4 基於XML的聲明式AspectJ 216
8.4.1 元素及其子元素 216
8.4.2 常用增強的使用 216
8.4.3 技能訓練 221
8.4.4 比較常用的增強類型 222
8.5 基於註解的聲明式AspectJ 222
8.5.1 @AspectJ簡介 223
8.5.2 使用註解標註切面 223
8.5.3 技能訓練 226
8.5.4 Spring框架的切面配置小結 226
第9章 Spring框架的資料庫開發及事務管理 229
9.1 Spring JDBC 229
9.1.1 Spring JdbcTemplate的解析 229
9.1.2 Spring JDBC的配置 230
9.2 Spring JdbcTemplate的常用方法 231
9.2.1 execute方法—執行SQL語句 231
9.2.2 update方法—更新數據 233
9.2.3 query方法—查詢數據 237
9.2.4 技能訓練 239
9.3 Spring框架事務管理概述 239
9.3.1 事務管理的核心接口 239
9.3.2 事務管理的方式 241
9.4 聲明式事務管理 242
9.4.1 基於XML方式的聲明式事務 242
9.4.2 技能訓練1 246
9.4.3 基於Annotation方式的聲明式事務 246
9.4.4 技能訓練2 249
第10章 MyBatis與Spring的框架整合 251
10.1 Spring框架對MyBatis框架的整合思路 251
10.2 Spring框架整合MyBatis框架的準備工作 252
10.2.1 準備所需的JAR包 252
10.2.2 建立開發目錄結構 253
10.3 實現Spring對MyBatis的框架整合 255
10.3.1 配置數據源 256
10.3.2 配置SqlSessionFactoryBean 256
10.3.3 使用SqlSessionTemplate實現資料庫的操作 257
10.3.4 編寫業務邏輯代碼並測試 258
10.3.5 技能訓練 259
10.4 注入Mapper接口方式的開發整合 259
10.4.1 使用MapperFactoryBean注入映射器 260
10.4.2 使用MapperScannerConfigurer注入映射器 261
10.4.3 技能訓練 263
10.5 測試事務 263
10.5.1 添加用戶事務測試 263
10.5.2 技能訓練 266
10.6 Spring配置補充 266
10.6.1 靈活配置DataSource 266
10.6.2 技能訓練 267
10.6.3 拆分Spring框架的配置檔案 267
第11章 初識Spring MVC框架 271
11.1 Spring MVC框架簡介 271
11.1.1 MVC設計模式 271
11.1.2 Spring MVC框架 274
11.2 第一個Spring MVC框架的套用 274
11.2.1 入門案例 275
11.2.2 技能訓練1 278
11.2.3 最佳化項目 278
11.2.4 技能訓練2 282
11.3 Spring MVC框架的工作流程與優勢 282
11.3.1 Spring MVC框架的請求處理流程 282
11.3.2 Spring MVC框架的工作原理 283
11.3.3 Spring MVC框架的特點 284
11.4 Spring MVC框架的核心類與常用註解 285
11.4.1 DispatcherServlet 285
11.4.2 Controller註解類型 286
11.4.3 RequestMapping註解類型 286
11.4.4 套用案例—基於註解的Spring MVC框架套用 290
11.4.5 ViewResolver(視圖解析器) 292
第12章 數據互動與綁定 295
12.1 數據綁定介紹 295
12.2 簡單參數傳遞 296
12.2.1 參數傳遞(View to Controller) 296
12.2.2 參數傳遞(Controller to View) 306
12.2.3 技能訓練 310
12.3 複雜數據綁定 310
12.3.1 綁定自定義數據 310
12.3.2 綁定數組 313
12.3.3 綁定集合 315
12.4 JSON數據互動 317
12.4.1 JSON概述 317
12.4.2 JSON數據轉換 319
12.4.3 解決JSON數據傳遞的常見問題 325
12.4.4 技能訓練 328
12.5 RESTful支持 328
12.5.1 RESTful風格 328
12.5.2 套用案例—用戶信息查詢 329
12.5.3 技能訓練 331
第13章 檔案上傳和下載與攔截器機制 333
13.1 檔案上傳 333
13.1.1 檔案上傳的概述 333
13.1.2 套用案例—檔案上傳 335
13.1.3 技能訓練 339
13.2 檔案下載 339
13.2.1 實現檔案下載 339
13.2.2 中文名稱的檔案下載 340
13.2.3 技能訓練 342
13.3 攔截器 342
13.3.1 攔截器的概述 342
13.3.2 攔截器的執行流程 344
13.3.3 套用案例—實現用戶登錄許可權驗證 348
13.3.4 技能訓練 352
第14章 深入使用Spring MVC框架 355
14.1 Spring MVC框架的異常處理 355
14.1.1 異常處理 355
14.1.2 技能訓練 357
14.2 表單標籤庫 358
14.2.1 表單標籤庫 358
14.2.2 套用案例—表單標籤庫的使用 361
14.3 數據轉換和格式化 366
14.3.1 數據綁定的流程 366
14.3.2 數據轉換 367
14.3.3 套用案例—實現日期數據轉換 368
14.3.4 數據格式化 373
14.3.5 套用案例—實現日期數據格式化 374
14.4 數據校驗 379
14.4.1 Spring的Validation校驗框架 379
14.4.2 JSR 303校驗 382
第15章 SSM框架整合與項目案例 390
15.1 整合環境搭建 390
15.1.1 整合思路 390
15.1.2 準備所需的JAR包 391
15.1.3 編寫配置檔案 392
15.2 套用案例—用戶登錄系統 396
15.3 套用案例—實現用戶管理模組的“增刪改查”操作 400
15.3.1 查詢用戶信息列表 400
15.3.2 添加用戶 403
15.3.3 查看用戶信息 406
15.3.4 修改用戶 408
15.3.5 刪除用戶 411
15.4 技能訓練 414
附錄A 貫穿案例:百貨中心供應鏈管理系統 416