基于SSM框架的互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)技術(shù)
《基于SSM框架的互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)技術(shù)》詳細(xì)講解了當(dāng)前Java EE開(kāi)發(fā)流行的SSM框架,重點(diǎn)講述Spring、MyBatis、Spring MVC三大框架的知識(shí)與原理以及實(shí)際應(yīng)用,以及Spring+Spring MVC+MyBatis三大框架的整合應(yīng)用!痘赟SM框架的互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)技術(shù)》也介紹了Spring Boot技術(shù)!痘赟SM框架的互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)技術(shù)》共19章,第1~4章是MyBatis部分,第5~10章為Spring部分,第11~14章為Spring MVC部分,第15章為SSM整合部分,第16~19章為Spring Boot部分!痘赟SM框架的互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)技術(shù)》每章都配有案例項(xiàng)目,將理論知識(shí)融合到項(xiàng)目案例中,使讀者能更加容易地理解SSM框架關(guān)鍵技術(shù)。
更多科學(xué)出版社服務(wù),請(qǐng)掃碼獲取。
目錄
前言
第1章 走進(jìn)MyBatis 1
1.1 什么是MyBatis 1
1.2 傳統(tǒng)JDBC編程的問(wèn)題 2
1.3 MyBatis 4
1.4 MyBatis示例程序 6
1.4.1 需求描述 6
1.4.2 表設(shè)計(jì)和數(shù)據(jù)初始化 6
1.4.3 搭建開(kāi)發(fā)環(huán)境 9
1.4.4 任務(wù)1:根據(jù)用戶(hù)id查詢(xún)用戶(hù) 11
1.4.5 任務(wù)2:根據(jù)用戶(hù)名模糊查詢(xún)用戶(hù) 15
1.4.6 任務(wù)3:添加用戶(hù) 17
1.4.7 任務(wù)4:更新用戶(hù)19
1.4.8 任務(wù)5:刪除用戶(hù) 21
1.5 MyBatis解決了JDBC編程的問(wèn)題 23
第2章 DAO的開(kāi)發(fā) 24
2.1 原生開(kāi)發(fā)DAO 24
2.1.1 開(kāi)發(fā)需求 24
2.1.2 創(chuàng)建DAO接口 24
2.1.3 創(chuàng)建DAO實(shí)現(xiàn)類(lèi) 25
2.1.4 單元測(cè)試 26
2.2 Mapper接口開(kāi)發(fā)DAO 28
2.2.1 Mapper接口開(kāi)發(fā)DAO規(guī)范 28
2.2.2 定義映射文件 28
2.2.3 將映射文件加載到配置文件中 29
2.2.4 定義Mapper接口 29
2.2.5 單元測(cè)試 29
第3章 MyBatis配置詳解 32
3.1 全局配置SqlMapConfig 32
3.1.1 properties(屬性) 33
3.1.2 settings(全局配置) 33
3.1.3 typeAliases(類(lèi)型別名) 34
3.1.4 typeHandlers(類(lèi)型處理器) 36
3.1.5 mappers(映射處理器) 37
3.2 輸入映射parameterType 38
3.2.1 簡(jiǎn)單類(lèi)型輸入映射 38
3.2.2 POJO類(lèi)型輸入映射 39
3.2.3 VO類(lèi)型輸入映射 40
3.2.4 HashMap類(lèi)型輸入映射 43
3.3 輸出映射resultType 44
3.3.1 簡(jiǎn)單類(lèi)型輸出映射 44
3.3.2 POJO對(duì)象輸出映射 45
3.3.3 POJO集合輸出映射 46
3.3.4 HashMap類(lèi)型輸出映射 47
3.4 輸出映射resultMap 48
3.4.1 resultMap的作用 48
3.4.2 定義resultMap 49
3.4.3 使用resultMap 49
3.5 動(dòng)態(tài)SQL 50
3.5.1 where和if 50
3.5.2 foreach 53
3.5.3 SQL片段 55
第4章 關(guān)聯(lián)查詢(xún)與緩存 57
4.1 訂單數(shù)據(jù)模型分析 57
4.1.1 一對(duì)一關(guān)聯(lián)査詢(xún) 58
4.1.2 一對(duì)多關(guān)聯(lián)查詢(xún) 64
4.1.3 多對(duì)多關(guān)聯(lián)査詢(xún) 67
4.1.4 關(guān)聯(lián)查詢(xún)腿 72
4.1.5 懶加載 72
4.2 緩存 76
4.2.1 為什么使用緩存 76
4.2.2 一級(jí)緩存 76
4.2.3 二級(jí)緩存 78
4.3 逆向工程 81
第5章 IOC與DI 86
5.1 硬編碼創(chuàng)建對(duì)象的弊端 86
5.2 IOC和DI 87
第6章 Spring Bean管理 90
6.1 Spring簡(jiǎn)介 90
6.2 寵物店示例程序 92
6.2.1 下載Spring依賴(lài)的jar包 92
6.2.2 編寫(xiě)Spring的Hello World程序 94
6.2.3 寵物店程序剖析 98
6.3 創(chuàng)建Bean的方式 99
6.3.1 使用配置文件的Bean元素創(chuàng)建Bean 99
6.3.2 靜態(tài)工廠注入Bean 99
6.3.3 實(shí)例工廠注入Bean 100
6.3.4 構(gòu)造方法注入Bean 101
6.3.5 set方法注入Bean 102
6.4 Bean的作用域 103
6.4.1 scope屬性 103
6.4.2 懶加載 105
6.5 Bean的生命周期 106
6.6 注入Bean的屬性值 107
6.7 自動(dòng)注入 111
6.7.1 自動(dòng)注入 112
6.7.2 設(shè)置全局自動(dòng)注入 113
6.8 加載多個(gè)Spring配置文件 113
第7章 Spring JDBC 115
7.1 Spring JDBC簡(jiǎn)介 115
7.2 Spring JDBC模塊 116
7.3 JdbcTemplate類(lèi) 117
7.3.1 execute()方法 117
7.3.2 update()方法 118
7.3.3 queryForObject()方法 118
7.3.4 queryForList()方法 119
7.4 Spring JDBC示例 119
7.4.1 架構(gòu)設(shè)計(jì) 119
7.4.2 開(kāi)發(fā)步驟 120
第8章 Spring優(yōu)化配置 131
8.1 Annotation-config 131
8.1.1 @Resource 132
8.1.2 @Autowired 133
8.1.3 @Qualifier 133
8.1.4 **次重構(gòu) 133
8.2 Component-scan 135
8.2.1 @Scope 136
8.2.2 @PostConstruct和@PreDestroy 136
8.2.3 第二次重構(gòu) 137
8.3 Java-based 139
第9章 Spring測(cè)試 145
9.1 JUnit對(duì)Spring進(jìn)行單元測(cè)試的問(wèn)題 146
9.2 Spring Test 149
第10章 Spring AOP 154
10.1 體驗(yàn)AOP的神奇之旅 154
10.1.1 AspectJ表達(dá)式 161
10.1.2 Advice類(lèi)型 161
10.2 代理(Proxy) 162
10.3 聲明式事務(wù) 164
10.3.1 準(zhǔn)備環(huán)境 164
10.3.2 測(cè)試1:不使用事務(wù)注冊(cè)用戶(hù)(一) 171
10.3.3 測(cè)試2:不使用事務(wù)注冊(cè)用戶(hù)(二) 172
10.3.4 測(cè)試3:在事務(wù)中注冊(cè)用戶(hù)(一) 172
10.3.5 測(cè)試4:在事務(wù)中注冊(cè)用戶(hù)(二) 173
10.3.6 Spring事務(wù)的提交行為 173
10.3.7 測(cè)試5:在事務(wù)中拋出Exception異常 174
10.3.8 不需要事務(wù)管理的方法 175
10.3.9 事務(wù)的傳播行為 176
10.3.10 事務(wù)的隔離性 177
第11章 Spring MVC簡(jiǎn)介 178
11.1 Spring MVC介紹 178
11.2 Web編程的過(guò)程 178
11.3 Spring MVC架構(gòu) 180
11.4 Spring MVC組件 181
11.5 Spring MVC入門(mén)實(shí)戰(zhàn) 181
11.5.1 創(chuàng)建maven項(xiàng)目 181
11.5.2 配置pom.xml 182
11.5.3 pom文件中引入Spring依賴(lài)包 183
11.5.4 配置DispatcherServlet 184
11.5.5 創(chuàng)建Controller 185
11.5.6 創(chuàng)建視圖188
11.5.7 啟動(dòng)服務(wù)器運(yùn)行189
11.5.8 使用Tomcat maven plugin 189
第12章 Spring MVC控制器 193
12.1 DispatcherServlet 193
12.2 HandlerMapping與HandlerAdapter 195
12.2.1 HandlerMapping 195
12.2.2 HandlerAdapter 195
12.3 Controller 196
12.3.1 @Controller 196
12.3.2 @RequestMapping 196
12.3.3 RESTful風(fēng)格的URL 198
12.3.4 靜態(tài)資源訪問(wèn) 200
12.4 處理器方法 200
12.4.1 獲取請(qǐng)求數(shù)據(jù) 201
12.4.2 參數(shù)綁定與類(lèi)型轉(zhuǎn)換 203
12.4.3 數(shù)據(jù)校驗(yàn) 208
12.4.4 @ModelAttribute 210
12.4.5 中文亂碼處理 212
12.5 返回值處理器 213
12.5.1 返回值類(lèi)型 213
12.5.2 @ResponseBody與@RestController 215
12,5.3 重定向與請(qǐng)求轉(zhuǎn)發(fā) 217
12.5.4 RedirectAttributes 218
第13章 SpringMVC攔截器 220
13.1 Handlerlnterceptor接口 220
13.2 HandlerlnterceptorAdapter抽象類(lèi) 221
13.3 自定義攔截器實(shí)現(xiàn)步驟 222
13.4 攔截器鏈 224
13.5 @ControllerAdvice與統(tǒng)一異常處理 227
第14章 視圖解析器與標(biāo)簽庫(kù) 230
14.1 視圖解析器 230
14.2 mvc:view-controller 233
14.3 Spring MVC JSP標(biāo)簽庫(kù) 234
第15章 SSM框架整合 248
15.1 準(zhǔn)備數(shù)據(jù)庫(kù) 248
15.2 創(chuàng)建Spring項(xiàng)目 249
15.3 配置依賴(lài)的jar包 251
15.4 配置數(shù)據(jù)庫(kù)連接 253
15.5 配置MyBatis 255
15.6 啟動(dòng)Spring容器 256
15.7 編寫(xiě)代碼 257
15.8 運(yùn)行測(cè)試 260
第16章 Spring Boot快速入門(mén) 261
16.1 Spring Boot介紹 261
16.2 創(chuàng)建Spring Boot項(xiàng)目 262
16.2.1 使用start.spring.io創(chuàng)建項(xiàng)目 262
16.2.2 使用STS工具創(chuàng)建項(xiàng)目 264
16.3 Spring Boot之Hello World 265
16.4 Spring Boot應(yīng)用啟動(dòng) 265
第17章 Spring Boot自動(dòng)配置 268
17.1 Spring Boot啟動(dòng) 268
17.2 @SpringBootApplication 273
17.3 Web容器啟動(dòng)過(guò)程 276
17.4 Spring MVC啟動(dòng)過(guò)程 276
第18章 Spring Boot JSP視圖 280
18.1 準(zhǔn)備項(xiàng)目結(jié)構(gòu) 280
18.2 Spring Boot配置視圖 281
18.3 錯(cuò)誤頁(yè)面配置 283
第19章 Spring Boot數(shù)據(jù)訪問(wèn) 292
19.1 Spring Boot starter 292
19.2 spring-boot-starter-jdbc 293
19.2.1 pom.xml文件中加入依賴(lài) 294
19.2.2 配置 294
19.2.3 編寫(xiě)測(cè)試用例驗(yàn)證是否正確 295
19.2.4 使用Druid連接池 296
19.3 mybatis-spring-boot-starter 297
19.3.1 在pom中加入依賴(lài) 2