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