Java EE輕量級框架應用實戰(zhàn)——SSM框架(Spring MVC+Spring+MyBatis)
定 價:75 元
- 作者:石毅
- 出版時間:2020/7/1
- ISBN:9787121391088
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP312.8;TP311.138
- 頁碼:440
- 紙張:
- 版次:01
- 開本:16K
本書詳細講解Java EE中使用最多的Spring、Spring MVC和MyBatis(簡稱SSM)三大框架的基本知識和應用。隨著互聯網的迅猛發(fā)展,SSM框架被越來越多地應用于企業(yè)級開發(fā)之中,其發(fā)展勢頭已經超過大部分Java Web框架,穩(wěn)居榜首。本書以實用性為原則,采用課堂實錄的形式,以任務為驅動,理論與實踐相結合,重點講解SSM框架在企業(yè)開發(fā)中常用的核心技術,分別講解MyBatis、Spring和Spring MVC三大框架的精髓內容。在內容上逐層深入,而非一次鋪開。"百貨中心供應鏈管理系統”案例貫穿始終,利用各章所學技能對其功能進行實現或優(yōu)化,讓讀者在學習技能的同時獲取項目開發(fā)經驗,加深讀者對技術的理解和掌握程度。 本書提供完善的免費配套資源和支持服務,包括電子教案(PPT)、案例素材、源代碼、各章上機練習與課后作業(yè)參考答案、教學設計、教學大綱等,希望帶給讀者全方位的學習體驗,可登錄電子工業(yè)出版社華信資源網(www.hxedu.com.cn)下載使用。 本書既可作為高等院校本、?朴嬎銠C相關專業(yè)的程序設計教材,也可作為Java技術的培訓圖書,適合廣大編程愛好者閱讀與使用。
石毅,擁有多年軟件開發(fā)從業(yè)與教育培訓經驗,熟悉Java開發(fā)企業(yè)級應用、Android應用開發(fā)、Web前端設計,負責Java軟件開發(fā)方向課程教學工作,主講Java、HTML、CSS、JavaScript、jQuery、MySQL、SQL Server、Oracle 數據庫、JavaWEB開發(fā)、SSM框架、SSH框架、微服務開發(fā)等課程。常受邀到各大高校擔任軟件開發(fā)相關課程教學,教學風格幽默風趣、工作態(tài)度認真負責、深受廣大學生喜歡。
第1章 初識MyBatis框架 1
1.1 企業(yè)級框架技術 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框架的環(huán)境搭建 6
1.2.6 MyBatis框架的優(yōu)、缺點及其適用場合 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。約elect>元素 46
2.3.3 <insert>元素 47
2.3.4。紆pdate>元素和<delete>元素 48
2.3.5。約ql>元素 49
2.3.6 <resultMap>元素 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章 動態(tài)SQL 67
3.1 動態(tài)SQL的元素 67
3.2 使用動態(tài)SQL完成多條件查詢 68
3.2.1 使用元素if+where實現多條件查詢 68
3.2.2 技能訓練1 73
3.2.3 使用元素if+trim實現多條件查詢 74
3.2.4。糲hoose>元素、<when>元素、<otherwise>元素 75
3.2.5 技能訓練2 77
3.3 使用動態(tài)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 事務的配置創(chuàng)建和使用 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 動態(tài)SQL 147
5.4.6 技能訓練3 152
5.4.7 二級緩存 152
第6章 初識Spring框架 156
6.1 Spring框架概述 156
6.1.1 企業(yè)級應用開發(fā) 156
6.1.2 Spring框架的體系結構 157
6.1.3 Spring框架的下載及目錄結構 159
6.1.4 Spring框架的優(yōu)點 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 靜態(tài)工廠方式實例化 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 動態(tài)代理 208
8.2.1 JDK動態(tài)代理 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 <aop:config>元素及其子元素 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框架的數據庫開發(fā)及事務管理 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()方法—執(zhí)行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 建立開發(fā)目錄結構 253
10.3 實現Spring對MyBatis的框架整合 255
10.3.1 配置數據源 256
10.3.2 配置SqlSessionFactoryBean 256
10.3.3 使用SqlSessionTemplate實現數據庫的操作 257
10.3.4 編寫業(yè)務邏輯代碼并測試 258
10.3.5 技能訓練 259
10.4 注入Mapper接口方式的開發(fā)整合 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 優(yōu)化項目 278
11.2.4 技能訓練2 282
11.3 Spring MVC框架的工作流程與優(yōu)勢 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 攔截器的執(zhí)行流程 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 整合環(huán)境搭建 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