軟件架構設計實踐——基於SSM框架

姚登舉 等

  • 出版商: 電子工業
  • 出版日期: 2024-06-01
  • 定價: $414
  • 售價: 8.5$352
  • 語言: 簡體中文
  • 頁數: 308
  • ISBN: 7121479028
  • ISBN-13: 9787121479021
  • 相關分類: 軟體架構
  • 下單後立即進貨 (約4週~6週)

商品描述

本書介紹了軟件項目開發中需要遵循的基本設計原則及經典軟件設計模式,重點講解了Spring、Spring MVC、MyBatis(SSM)框架的實現原理、關鍵技術、實際應用,以及其與典型軟件設計模式的融合,並通過兩個項目讓讀者掌握SSM框架的整合應用,體會軟件架構設計的重要性。 本書理論與實踐相結合,在知識點中融合了思政元素,實踐案例由易到難、逐步深入,所有代碼均能上機運行。本書提供教學大綱、電子課件、全部的項目源代碼、實驗設計、習題解答、授課視頻等配套資源,讀者可登錄華信教育資源網(www.hxedu.com.cn)免費下載。 本書既可作為本科院校電腦科學與技術、軟件工程等相關專業軟件架構設計及Java EE方向課程的教材,以及新一代信息技術現代產業學院電腦類課程的實踐教材和培訓機構的輔導教材,又可作為Java技術愛好者的學習參考書。

目錄大綱

理論篇
第1章 軟件設計模式導論 2
1.1 軟件設計模式概述 2
1.1.1 軟件設計模式產生的
背景 2
1.1.2 軟件設計模式的基本
要素 3
1.2 軟件設計模式的基本原則 4
1.2.1 開閉原則 4
1.2.2 里氏代換原則 5
1.2.3 依賴倒置原則 7
1.2.4 單一職責原則 10
1.2.5 接口隔離原則 11
1.2.6 迪米特法則 13
1.2.7 合成復用原則 14
1.3 使用軟件設計模式的優點 16
1.3.1 代碼優劣的評價原則 17
1.3.2 使用軟件設計模式
帶來的變化 17
思考與習題 18
第2章 典型軟件設計模式 19
2.1 單例模式 19
2.1.1 單例模式的特點 19
2.1.2 單例模式的優缺點 19
2.1.3 單例模式的應用場景 20
2.1.4 單例模式的實現 20
2.2 原型模式 22
2.3 工廠模式 23
2.3.1 簡單工廠模式 24
2.3.2 工廠方法模式 25
2.3.3 抽象工廠模式 26
2.4 建造者模式 29
2.5 代理模式 33
2.5.1 代理模式的應用場景 34
2.5.2 代理模式的主要優點 34
2.5.3 代理模式的簡單示例 34
2.6 MVC設計模式 35
2.6.1 MVC設計模式的由來 36
2.6.2 MVC設計模式在Java Web開發中的應用 36
2.6.3 MVC設計模式的
工作原理 37
2.6.4 MVC設計模式的
優點 37
思考與習題 39
第3章 認識軟件架構 40
3.1 軟件架構概述 40
3.1.1 軟件架構產生的背景 40
3.1.2 軟件架構的定義 41
3.1.3 軟件架構的應用 42
3.1.4 軟件架構的一般特性 43
3.2 感受身邊的架構存在 44

3.2.1 交通信號燈控制
系統的架構 44
3.2.2 智能手機充電接口的
架構 45
3.3 軟件架構的表示 46
3.3.1 軟件架構的描述 46
3.3.2 基於UML軟件視圖 46
3.4 軟件架構的作用 49
3.5 常見的軟件架構模式 51
3.5.1 分層模式 51
3.5.2 客戶端—服務器模式 51
3.5.3 瀏覽器—服務器模式 52
3.5.4 管道—過濾器模式 53
3.5.5 微服務模式 54
3.6 軟件架構與軟件框架 54
思考與習題 56
框架篇
第4章 Spring框架基礎 58
4.1 Java企業級開發 58
4.2 Spring框架概述 59
4.2.1 Spring框架的發展
歷史 59
4.2.2 Spring框架的優勢 60
4.2.3 Spring框架的體系
結構 61
4.3 Spring開發環境搭建 63
4.3.1 安裝JDK 63
4.3.2 安裝IDE 63
4.3.3 獲取Spring框架 64

4.3.4 第一個Spring應用
程序 66
思考與練習 68
第5章 Spring的控制反轉機制 69
5.1 控制反轉的概念 69
5.1.1 控制反轉的理解 69
5.1.2 Spring中的控制反轉 71
5.2 基於XML的配置—Bean
的實例化 73
5.2.1 基於默認構造函數 73
5.2.2 基於靜態工廠 74
5.2.3 基於實例工廠 75
5.3 基於XML的配置—Bean
的生命周期 75
5.3.1 Bean的作用範圍 75
5.3.2 延遲初始化 77
5.3.3 Bean的初始化方法和
銷毀方法 77
5.4 基於XML的配置—基於
setter的屬性註入 78
5.4.1 字面值的setter註入 78
5.4.2 對象類型的setter註入 79
5.4.3 集合類型的setter註入 81
5.5 基於XML的配置—基於
構造函數的屬性註入 83
5.5.1 按順序匹配 84
5.5.2 按索引匹配 85
5.5.3 按類型匹配 85
5.5.4 按名稱匹配 85
5.5.5 混合匹配 86

5.6 基於XML的配置—工廠
方法註入 88
5.6.1 工廠方法註入 88
5.6.2 工廠方法註入應用
實例 88
5.7 基於XML的配置—基於
p命名空間、util命名空間和
c命名空間的屬性註入 89
5.7.1 p命名空間 89
5.7.2 util命名空間 90
5.7.3 c命名空間 91
5.8 基於XML的配置—Bean
之間的關系 92
5.8.1 繼承 92
5.8.2 依賴 93
5.9 基於註解的配置 94
5.9.1 註冊Bean的註解 95
5.9.2 管理Bean的生命周期
的註解 95
5.9.3 用於屬性註入的註解 96
5.9.4 基於註解的配置應用
實例:三層體系結構
應用 101
5.10 基於Java類的配置 102
思考與練習 104
第6章 Spring的面向切麵編程
機制 105
6.1 面向切麵編程概述 105
6.1.1 問題的提出 105
6.1.2 面向切麵編程的概念 106
6.1.3 Spring AOP概述 107
6.2 Spring AOP—編程式 108
6.2.1 增強 110
6.2.2 切麵 116
6.3 Spring AOP—聲明式 120
6.3.1 配置增強 120
6.3.2 配置切麵 122
6.4 Spring AOP—AspectJ 123
6.4.1 基於註解 124
6.4.2 基於配置 127
思考與練習 130
第7章 Spring MVC基礎 131
7.1 MVC的概念 131
7.2 Spring MVC概述 132
7.2.1 Spring MVC的
結構和運行原理 132
7.2.2 第一個Spring MVC
應用程序 132
7.3 請求的響應 137
7.3.1 @RequestMapping
註解 138
7.3.2 @RequestMapping
註解的成員 138
7.4 請求參數的綁定 148
7.4.1 字面值參數的綁定 148
7.4.2 對象類型參數的綁定 149
7.4.3 數組類型參數的綁定 150
7.4.4 路徑變量 152
7.4.5 請求參數綁定時的
數據校驗 153
7.5 視圖與視圖的選擇 156
7.5.1 視圖與視圖解析器 156
7.5.2 視圖的選擇 157
7.5.3 配置多個視圖解析器 159
思考與練習 161
第8章 Spring MVC高級功能 162
8.1 攔截器 162
8.1.1 攔截器的概念 162
8.1.2 使用攔截器 162
8.2 異常處理 166
8.2.1 異常處理概述 166
8.2.2 自定義全局異常
處理器 166
8.3 文件上傳下載 169
8.3.1 文件上傳 169
8.3.2 文件下載 174
8.4 靜態資源訪問 175
8.4.1 配置默認Servlet 176
8.4.2 註冊DefaultServletHttp
RequestHandler 177
8.4.3 配置資源映射 177
8.5 JSON數據交換和RESTful
應用 177
8.5.1 JSON數據格式 178
8.5.2 Spring MVC中的
JSON數據交換 179
8.5.3 REST的概念 183
8.5.4 編寫RESTful應用 183
思考與練習 188
第9章 MyBatis框架基礎 189
9.1 MyBatis概述 189
9.1.1 傳統JDBC的劣勢 189
9.1.2 ORM簡介 190
9.1.3 MyBatis簡介 191
9.1.4 MyBatis的功能架構 192
9.1.5 MyBatis的工作流程 193
9.1.6 MyBatis的下載與
使用 195
9.2 MyBatis重要API簡介 196
9.3 MyBatis的配置文件 199
9.3.1 properties元素 200
9.3.2 settings元素 201
9.3.3 typeAliases元素 202
9.3.4 typeHandlers元素 202
9.3.5 objectFactory元素 203
9.3.6 environments元素 203
9.3.7 mappers元素 204
9.4 第一個MyBatis應用程序 204
9.4.1 搭建開發運行環境 205
9.4.2 創建XML配置文件 206
9.4.3 創建類文件 207
思考與練習 209
第10章 單表的CRUD操作 210
10.1 數據查詢操作 210
10.1.1 結果映射resultMap 210
10.1.2 使用selectList()方法
查詢 212
10.1.3 多參數查詢 213
10.1.4 動態查詢 215
10.2 使用insert元素添加數據 221
10.2.1 主鍵由數據表
自增長 222
10.2.2 主鍵非自增長 224
10.3 使用delete元素刪除數據 224
10.4 使用update元素修改數據 226
10.5 使用getMapper接口和
工具類簡化代碼編寫 228
思考與練習 230
第11章 多表關聯映射 231
11.1 關聯關系基礎 231
11.2 一對一關聯操作 232
11.3 一對多關聯操作 236
11.3.1 單向一對多操作 236
11.3.2 單向多對一操作 240
11.4 多對多關聯操作 241
11.5 使用MyBatis註解 246
11.5.1 SQL語句映射註解 247
11.5.2 結果集映射註解 248
11.5.3 關系映射註解 248
11.5.4 註解應用實例 249
思考與練習 250
實戰篇
第12章 學員信息管理系統 252
12.1 項目需求概述 252
12.2 項目數據庫設計 252
12.3 SSM框架整合 253
12.3.1 開發架包的準備 253
12.3.2 創建項目資源文件 255
12.3.3 web.xml文件配置 255
12.3.4 Spring配置 256
12.3.5 Spring MVC配置 258
12.3.6 MyBatis配置 259
12.4 項目的主要功能實現 259
12.4.1 學員信息管理的
實現 259
12.4.2 教練信息管理的
實現 268
思考與練習 269
第13章 數字化社區信息管理系統 270
13.1 項目需求概述 270
13.2 項目數據庫設計 271
13.2.1 權限管理數據表
設計 271
13.2.2 流程管理數據表
設計 272
13.2.3 具體業務管理
數據表設計 273
13.3 項目整體架構設計 274
13.3.1 代碼整體結構設計 274
13.3.2 前後端分離設計 275
13.3.3 實體關系映射設計 278
13.3.4 系統可擴展性設計 283
13.4 項目主要功能的實現 288
13.4.1 居民信息管理的實現 288
13.4.2 重點人群管理的實現 290
13.5 本案例的啟發 293
思考與練習 294
參考文獻 295