SSM與Spring Boot開發(fā)實戰(zhàn)
定 價:99 元
- 作者:肖海鵬 牟東旭
- 出版時間:2020/8/1
- ISBN:9787115540010
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁碼:428
- 紙張:
- 版次:01
- 開本:16開
本書以Java EE為主要開發(fā)平臺,系統(tǒng)講解了通過Spring、Spring MVC和MyBatis(SSM)三大框架開發(fā)企業(yè)項目的方法、技術與實踐。本書主要介紹了Spring、Spring MVC和MyBatis的基礎知識,Spring的資源管理,如何實現(xiàn)控制反轉,如何通過Spring表達式語言簡化代碼,如何通過面向切面編程降低業(yè)務邏輯各部分之間的耦合度,如何整合數(shù)據(jù)層,并結合具體案例講述了如何通過SSM、Spring Boot實現(xiàn)項目的整合。
本書適合Java程序員、SSM開發(fā)人員、Spring Boot開發(fā)人員閱讀。
1.SSM 是Spring、Spring MVC 和MyBatis 框架的組合,是目前Java 領域中使用非常廣泛的開源Web 框架,并且越來越多地應用于企業(yè)級項目的開發(fā)中。
2.本書以實用性為原則,基于Java EE,不僅講解了Spring 、Spring MVC和MyBatis三大框架的精髓,還結合具體的項目案例介紹了如何通過SSM 框架完成企業(yè)級項目的開發(fā)。
3.本書通過大量源代碼和項目案例,展示了優(yōu)秀SSM框架的設計思路, SSM框架里面高級特性的實現(xiàn)方式,以及 SSM框架的內部設計細節(jié)、編程技巧,有助于開發(fā)人員熟練地使用SSM框架提高開發(fā)效率、降低開發(fā)成本。
本書主要內容:
·Spring、Spring MVC和MyBatis的基礎知識;
·Spring的資源管理方式;
·實現(xiàn)控制反轉的方法;
·SpEL的語法和應用;
·面向切面編程的思想;
·整合數(shù)據(jù)層的方法。
肖海鵬 51CTO金牌講師,具有10年大型項目經(jīng)驗和10年Java教學經(jīng)驗,曾擔任藝龍旅行網(wǎng)的架構師、TechFaith公司的系統(tǒng)工程師等。他在網(wǎng)絡上推出了“Java Web應用開發(fā)技術”“SSM+SpringBoot——從入門、案例實戰(zhàn)到企業(yè)級項目貫穿”“多線程與線程池技術詳解”等視頻教程,廣受網(wǎng)友好評。
牟東旭 富景天策科技集團高級項目經(jīng)理,不僅精通SSM、Spring Boot、Spring Cloud等主流Java開源框架,還精通Hadoop、Kafka、Hive、Spark和Kylin等大數(shù)據(jù)技術。他曾經(jīng)從事過多年一線互聯(lián)網(wǎng)開發(fā)工作,目前專注于氣象服務領域的產(chǎn)品策劃 、技術架構和產(chǎn)品研發(fā)工作。
第 1章 Spring基礎知識 1
1.1 Spring與Java EE 2
1.1.1 下載Java EE資源 2
1.1.2 Java EE 3
1.1.3 Java EE 7的架構 4
1.1.4 Spring與Java EE的關系 5
1.2 Spring項目 5
1.3 比較Spring Framework歷史版本 8
1.3.1 下載Spring Framework資源 8
1.3.2 Spring 4.x相對于Spring 3.x的變化 9
1.3.3 Spring 5.x的新增功能 11
1.4 Spring Framework技術 12
1.4.1 核心技術 12
1.4.2 數(shù)據(jù)訪問層的整合 12
1.4.3 Web層技術 13
1.4.4 與外部系統(tǒng)的集成 14
1.5 Spring Framework模塊的組成 14
1.5.1 模塊架構 14
1.5.2 模塊與JAR包的對應關系 15
1.5.3 模塊的功能 15
第 2章 Spring的資源管理 17
2.1 資源管理類 17
2.2 資源 18
2.3 資源訪問接口 18
2.4 資源加載 19
2.5 從配置中獲取資源 21
2.6 應用上下文與資源 22
2.7 MyBatis的資源配置 22
第3章 IoC 24
3.1 IoC與DI的概念 24
3.2 IoC容器與ApplicationContext 24
3.3 容器的創(chuàng)建與使用 25
3.3.1 創(chuàng)建IoC容器 25
3.3.2 從容器讀取Bean對象 28
3.3.3 “Hello,Spring”示例 28
3.4 Bean對象的管理 29
3.4.1 BeanDefinition 29
3.4.2 id屬性和name屬性的區(qū)別 31
3.4.3 創(chuàng)建Bean對象 31
3.5 HelloIoC示例 36
3.5.1 面向接口編程 37
3.5.2 通過XML和反射實現(xiàn)IoC 37
3.5.3 通過Spring實現(xiàn)IoC 39
3.6 依賴注入 40
3.6.1 依賴注入的定義 40
3.6.2 項目案例:StaffUser系統(tǒng)與IoC 41
3.6.3 通過構造函數(shù)注入 46
3.6.4 通過set方法注入 50
3.6.5 依賴注入的處理流程 52
3.6.6 依賴配置 52
3.6.7 通過Autowire注入 62
3.6.8 方法注入 67
3.6.9 依賴注入總結 71
3.7 Bean對象的作用域 72
3.7.1 配置Bean的作用域 73
3.7.2 singleton和prototype作用域 73
3.7.3 HelloSpringAction示例 75
3.7.4 Bean的Web應用 77
3.7.5 Bean的依賴 78
3.7.6 JavaBean的屬性范圍 78
3.8 定制Bean的特性信息 79
3.8.1 處理Bean的生命周期回調 79
3.8.2 Aware接口 84
3.9 IoC容器擴展 85
3.9.1 BeanPostProcessor接口 85
3.9.2 FactoryBean接口 87
3.10 注解配置 90
3.10.1 與JSR相關的注解 90
3.10.2 與Spring相關的注解 98
3.11 標準事件與自定義事件 100
3.11.1 標準事件 100
3.11.2 項目案例:打印郵件黑名單 101
3.11.3 項目案例:接收多類型消息 103
3.12 Bean工廠 104
3.12.1 BeanFactory接口 104
3.12.2 HierarchicalBeanFactory接口 104
3.12.3 ListableBeanFactory接口 105
3.12.4 DefaultListableBeanFactory類 105
3.12.5 Bean與BeanFactory 106
3.12.6 IoC容器與BeanFactory 106
第4章 SpEL 108
4.1 SpEL的基本概念 108
4.2 SpEL的基本語法 109
4.2.1 算術運算符 109
4.2.2 比較運算符 110
4.2.3 邏輯運算符 111
4.2.4 其他運算符 112
4.3 ExpressionParser 113
4.3.1 在代碼中調用SpEL 113
4.3.2 在代碼中調用Bean對象的屬性 114
4.4 基于XML的SpEL應用 115
4.5 通過正則表達式校驗郵箱 116
4.6 項目案例:基于@Value注解的應用 117
第5章 AOP 120
5.1 AOP概述 120
5.1.1 AOP中的專業(yè)術語 120
5.1.2 通知的類型 121
5.1.3 AOP動態(tài)代理的選擇 122
5.2 支持@AspectJ 123
5.2.1 @AspectJ 123
5.2.2 autoproxying配置 123
5.2.3 聲明切面 123
5.2.4 聲明切入點 124
5.2.5 切入點表達式 124
5.2.6 聲明基于注解的通知 127
5.2.7 管理StaffUser日志 130
5.2.8 管理StaffUser數(shù)據(jù)庫的連接 131
5.3 基于XML的AOP配置 132
5.3.1 聲明切面 132
5.3.2 聲明切入點 133
5.3.3 聲明基于XML的通知 133
5.3.4 使用通知器 135
5.3.5 管理StaffUser系統(tǒng)的日志 135
5.3.6 管理StaffUser系統(tǒng)中的數(shù)據(jù)庫連接 137
5.4 代理機制 137
5.4.1 靜態(tài)代理 138
5.4.2 動態(tài)代理 140
5.4.3 項目案例:自動管理StaffUser系統(tǒng)中的數(shù)據(jù)庫連接 143
5.4.4 項目案例:基于動態(tài)代理實現(xiàn)StaffUser系統(tǒng)的事務處理 148
5.4.5 項目案例:基于AspectJ實現(xiàn)動態(tài)的事務管理 156
第6章 整合數(shù)據(jù)層 160
6.1 事務分類 160
6.2 Spring事務模型 162
6.3 Spring事務抽象模型 163
6.4 事務與資源管理 166
6.5 Spring聲明性事務 167
6.5.1 使用XML管理聲明性事務 167
6.5.2 項目案例:使用XML配置StaffUser事務 168
6.5.3 JDBCDaoSupport 173
6.5.4 通過注解管理聲明性事務 174
6.5.5 項目案例:使用注解管理StaffUser事務 175
6.6 Spring編程式事務 178
6.6.1 編程式事務的管理 178
6.6.2 在Spring中通過編程式事務新增員工 178
6.7 聲明性事務與編程式事務的選擇 181
6.8 Spring事務的傳播屬性 181
6.8.1 Propagation.REQUIRED 182
6.8.2 Propagation.REQUIRES_NEW 185
6.8.3 Propagation.NESTED 187
6.9 關于數(shù)據(jù)庫連接管理的總結 187
6.9.1 JdbcDaoSupport 188
6.9.2 數(shù)據(jù)庫連接的控制 188
第7章 Spring MVC 193
7.1 Spring MVC介紹 193
7.1.1 視圖與控制層技術 194
7.1.2 Spring MVC支持的特性 194
7.2 HelloMVC項目 195
7.2.1 Eclipse和Tomcat 8的環(huán)境配置 195
7.2.2 Servlet控制器與邏輯類 200
7.2.3 MVC架構 201
7.3 HelloSpringMVC示例 201
7.3.1 導入模塊和包 201
7.3.2 配置前端控制器DispatcherServlet 202
7.3.3 配置spring-mvc.xml 202
7.3.4 編寫HelloAction 203
7.3.5 編寫視圖 203
7.3.6 瀏覽器測試 204
7.3.7 配置log4j日志 204
7.4 前端控制器DispatcherServlet 204
7.4.1 Spring Web MVC架構 204
7.4.2 DispatcherServlet與IoC容器的關系 205
7.4.3 DispatcherServlet的功能 207
7.5 通過源代碼解析DispatcherServlet的工作流程 208
7.5.1 添加源代碼 208
7.5.2 通過斷點跟蹤觀察DispatcherServlet的工作流程 209
7.5.3 前端控制器的doDispatch()方法 210
7.5.4 創(chuàng)建IoC容器 211
7.6 控制器@Controller 213
7.6.1 @Controller概述 213
7.6.2 @RequestMapping 216
7.6.3 控制器的異步處理 250
7.7 攔截器 255
7.7.1 HandlerMapping接口 255
7.7.2 項目案例:在非工作時間拒絕服務 256
7.7.3 攔截器運行流程分析 258
7.8 視圖解析 259
7.8.1 視圖解析的主要接口 259
7.8.2 JSP視圖 260
7.8.3 通過ViewResolver解析視圖 260
7.8.4 視圖解析器鏈 261
7.8.5 重定向到視圖 262
7.9 使用Flash屬性 266
7.10 使用Locale 267
7.10.1 Locale對象 267
7.10.2 Locale解析器 267
7.10.3 Locale攔截器 268
7.10.4 項目案例:國際化應用 269
7.11 主題 272
7.11.1 主題介紹 272
7.11.2 項目案例:主題的應用 273
7.12 multipart文件的上傳 275
7.12.1 MultipartResolver 275
7.12.2 項目案例:上傳圖片 276
7.13 異常處理 277
7.13.1 HandlerExceptionResolver 277
7.13.2 SimpleMappingExceptionResolver 277
7.13.3 @ExceptionHandler 278
7.13.4 標準異常解析 279
7.14 使用JSP與JSTL 281
7.14.1 JSP與JSTL 281
7.14.2 Spring的基本標簽 281
7.14.3 Spring的form標簽庫 282
第8章 基于Spring MVC的書城項目實戰(zhàn) 285
8.1 項目結構與用戶權限 285
8.2 開發(fā)環(huán)境 285
8.3 表的結構設計 285
8.4 項目所需JAR包 287
8.5 配置前端控制器DispatcherServlet 288
8.6 配置spring-mvc.xml 288
8.7 配置log4j日志 290
8.8 配置數(shù)據(jù)庫連接 290
8.9 實現(xiàn)權限校驗 291
8.10 顯示主頁圖書列表 292
8.11 實現(xiàn)圖書明細頁 292
8.12 用戶管理 293
8.12.1 用戶登錄 293
8.12.2 用戶退出 294
8.12.3 用戶注冊 295
8.12.4 用戶名校驗 296
8.13 購物車實現(xiàn) 297
8.13.1 購物車設計 297
8.13.2 我的購物車 298
8.13.3 加入購物車 298
8.13.4 移除購物車 299
8.14 用戶付款 299
8.14.1 結算 299
8.14.2 付款 300
8.15 圖書上傳 302
8.16 查詢用戶購買記錄 303
第9章 通過Spring整合書城項目 306
9.1 配置整合環(huán)境 306
9.2 配置業(yè)務Bean 307
9.3 配置依賴注入 308
9.4 配置聲明性事務 308
9.5 處理異!309
9.6 常見錯誤 311
第 10章 通過Spring進行數(shù)據(jù)校驗 314
10.1 數(shù)據(jù)校驗的概念 314
10.2 在Spring中實現(xiàn)數(shù)據(jù)校驗 315
10.2.1 Validator接口 315
10.2.2 DataBinder類 318
10.2.3 BeanWrapper接口 319
10.2.4 屬性編輯器 320
10.3 項目案例:用戶注冊校驗 322
第 11章 MyBatis基礎知識 324
11.1 下載MyBatis資源 324
11.2 快速入門示例 325
11.2.1 創(chuàng)建SqlSessionFactory 326
11.2.2 從SqlSessionFactory獲得SqlSession 327
11.2.3 新建Mapper接口和映射文件 327
11.2.4 配置映射文件的指向 328
11.2.5 調用Mapper接口 328
11.2.6 測試 328
11.2.7 通過log4j跟蹤MyBatis 328
11.3 MyBatis的原理 329
11.3.1 SqlSession與連接 329
11.3.2 SqlSession的getMapper 330
11.4 配置MyBatis 332
11.4.1 配置屬性文件 333
11.4.2 配置setting項 334
11.4.3 配置typeAliases 336
11.4.4 配置typeHandlers 338
11.4.5 配置ObjectFactory 342
11.4.6 配置plugins攔截器 343
11.4.7 配置環(huán)境 344
11.4.8 配置databaseIdProvider 351
11.4.9 配置映射文件的路徑 352
11.5 配置映射文件 353
11.5.1 mapper元素 353
11.5.2 select元素 354
11.5.3 插入、刪除和更新元素 355
11.5.4 項目案例:新增員工 357
11.5.5 項目案例:員工打卡 361
11.5.6 配置參數(shù) 365
11.5.7 resultMap 368
11.5.8 項目案例:查詢員工打卡記錄 373
11.5.9 緩存 377
11.6 動態(tài)SQL 381
11.6.1 if語句 381
11.6.2 choose語句 382
11.6.3 foreach語句 384
第 12章 通過Spring整合StaffUser系統(tǒng) 387
12.1 下載資源 387
12.2 項目案例:整合StaffUser系統(tǒng) 388
12.2.1 導入包 388
12.2.2 配置beans.xml文件 389
12.2.3 配置服務層和持久層依賴的對象 390
12.2.4 管理事務 391
第 13章 通過SSM整合書城項目 395
13.1 搭建SSM整合環(huán)境 395
13.1.1 導入包 395
13.1.2 配置數(shù)據(jù)庫連接 395
13.1.3 設置MyBatis的核心配置文件 396
13.1.4 設置Spring的核心配置文件 396
13.2 定義Mapper接口和配置Mapper文件 398
13.3 在持久層配置依賴注入Mapper 398
13.4 實現(xiàn)MyBatis持久層 399
13.4.1 顯示主頁圖書列表 399
13.4.2 顯示圖片 399
13.4.3 顯示圖書詳情 400
13.4.4 管理用戶 401
13.4.5 實現(xiàn)購物車 402
13.4.6 用戶付款 403
13.4.7 上傳圖書 405
13.4.8 查詢用戶購買記錄 406
第 14章 通過Spring Boot與SSM整合書城項目 408
14.1 Maven與環(huán)境配置 408
14.1.1 Maven的作用 408
14.1.2 通過Maven配置pom.xml 409
14.1.3 配置Maven環(huán)境 412
14.2 Spring Boot與環(huán)境配置 413
14.2.1 Spring Boot 413
14.2.2 Spring Boot開發(fā)環(huán)境 414
14.3 示例項目 415
14.3.1 微服務項目 415
14.3.2 Web項目 420
14.4 整合書城項目 423
14.4.1 配置書城項目的Spring Boot環(huán)境 423
14.4.2 啟動類App 428