Spring 3.X企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)-含光盤1張 版權(quán)信息
- ISBN:9787121152139
- 條形碼:9787121152139 ; 978-7-121-15213-9
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類:>>
Spring 3.X企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)-含光盤1張 本書特色
揭示內(nèi)幕、深入淺出
同步更新、與時(shí)俱進(jìn)
突出重點(diǎn),淡化邊緣
理論透徹、面向?qū)嵺`
代碼簡(jiǎn)潔、圖例豐富
注重趣味、輕松閱讀
相關(guān)知識(shí)、一網(wǎng)打盡
歷時(shí)一載、傾力打造
Spring 3.X企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)-含光盤1張 內(nèi)容簡(jiǎn)介
Spring3.0是Spring在積蓄了3年之久后,隆重推出的一個(gè)重大升級(jí)版本,進(jìn)一步加強(qiáng)了Spring作為Java領(lǐng)域**開(kāi)源平臺(tái)的翹楚地位。Spring3.0引入了眾多Java開(kāi)發(fā)者翹首以盼的新功能和新特性,如OXM、校驗(yàn)及格式化框架、REST風(fēng)格的Web編程模型等。這些新功能實(shí)用性強(qiáng)、易用性高,可大幅降低Java應(yīng)用,特別是JavaWeb應(yīng)用開(kāi)發(fā)的難度,同時(shí)有效提升應(yīng)用開(kāi)發(fā)的優(yōu)雅性。本書是在《精通Spring2.x——企業(yè)應(yīng)用開(kāi)發(fā)詳解》的基礎(chǔ)上,經(jīng)過(guò)歷時(shí)一年的重大調(diào)整改版而成的,本書延續(xù)了上一版本追求深度,注重原理,不停留在技術(shù)表面的寫作風(fēng)格,力求使讀者在熟練使用Spring的各項(xiàng)功能的同時(shí),還能透徹理解Spring的內(nèi)部實(shí)現(xiàn),真正做到知其然知其所以然。此外,本書重點(diǎn)突出了“實(shí)戰(zhàn)性”的主題,力求使全書“從實(shí)際項(xiàng)目中來(lái),到實(shí)際項(xiàng)目中去”。
Spring 3.X企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)-含光盤1張 目錄
第1篇 概述
第1章 Spring概述 2
1.1 認(rèn)識(shí)Spring 3
1.2 關(guān)于SpringSource 4
1.3 Spring帶給我們什么 5
1.4 Spring體系結(jié)構(gòu) 6
1.5 Spring 3.0的新功能 8
1.5.1 核心API更新到Java 5.0 8
1.5.2 Spring表達(dá)式語(yǔ)言 8
1.5.3 可通過(guò)Java類提供IoC配置信息 9
1.5.4 通用類型轉(zhuǎn)換系統(tǒng)和屬性格式化
系統(tǒng) 10
1.5.5 數(shù)據(jù)訪問(wèn)層新增OXM功能 10
1.5.6 Web層的增強(qiáng) 10
1.5.7 其他 11
1.6 Spring對(duì)Java版本的要求 11
1.7 如何獲取Spring 11
1.8 小結(jié) 12
第2章 快速入門 13
2.1 實(shí)例功能概述 14
2.1.1 比Hello World更適用的實(shí)例 14
2.1.2 實(shí)例功能簡(jiǎn)介 14
2.2 環(huán)境準(zhǔn)備 16
2.2.1 創(chuàng)建庫(kù)表 16
2.2.2 建立工程 17
2.2.3 類包及Spring配置文件規(guī)劃 19
2.3 持久層 20
2.3.1 建立領(lǐng)域?qū)ο?20
2.3.2 UserDao 21
2.3.3 LoginLogDao 24
2.3.4 在Spring中裝配DAO 24
2.4 業(yè)務(wù)層 26
2.4.1 UserService 26
2.4.2 在Spring中裝配Service 27
2.4.3 單元測(cè)試 29
2.5 展現(xiàn)層 31
2.5.1 配置Spring MVC框架 31
2.5.2 處理登錄請(qǐng)求 33
2.5.3 JSP視圖頁(yè)面 35
2.6 運(yùn)行Web應(yīng)用 37
2.7 小結(jié) 38
第2篇 IoC和AOP
第3章 IoC容器概述 40
3.1 IoC概述 41
3.1.1 通過(guò)實(shí)例理解IoC的概念 41
3.1.2 IoC的類型 43
3.1.3 通過(guò)容器完成依賴關(guān)系的注入 45
3.2 相關(guān)Java基礎(chǔ)知識(shí) 46
3.2.1 簡(jiǎn)單實(shí)例 46
3.2.2 類裝載器ClassLoader 48
3.2.3 Java反射機(jī)制 51
3.3 資源訪問(wèn)利器 53
3.3.1 資源抽象接口 53
3.3.2 資源加載 56
3.4 BeanFactory和ApplicationContext 58
3.4.1 BeanFactory介紹 58
3.4.2 ApplicationContext介紹 61
3.4.3 父子容器 68
3.5 Bean的生命周期 68
3.5.1 BeanFactory中Bean的生命周期 68
3.5.2 ApplicationContext中Bean的
生命周期 77
3.6 小結(jié) 79
第4章 在IoC容器中裝配Bean 80
4.1 Spring配置概述 81
4.1.1 Spring容器高層視圖 81
4.1.2 基于XML的配置 82
4.2 Bean基本配置 84
4.2.1 裝配一個(gè)Bean 84
4.2.2 Bean的命名 85
4.3 依賴注入 86
4.3.1 屬性注入 86
4.3.2 構(gòu)造函數(shù)注入 89
4.3.3 工廠方法注入 93
4.3.4 選擇注入方式的考量 94
4.4 注入?yún)?shù)詳解 95
4.4.1 字面值 95
4.4.2 引用其他Bean 96
4.4.3 內(nèi)部Bean 98
4.4.4 值 98
4.4.5 級(jí)聯(lián)屬性 98
4.4.6 集合類型屬性 99
4.4.7 簡(jiǎn)化配置方式 103
4.4.8 自動(dòng)裝配 106
4.5 方法注入 107
4.5.1 lookup方法注入 107
4.5.2 方法替換 108
4.6 <bean>之間的關(guān)系 109
4.6.1 繼承 109
4.6.2 依賴 110
4.6.3 引用 111
4.7 整合多個(gè)配置文件 112
4.8 Bean作用域 113
4.8.1 singleton作用域 113
4.8.2 prototype作用域 114
4.8.3 Web應(yīng)用環(huán)境相關(guān)的Bean
作用域 115
4.8.4 作用域依賴問(wèn)題 117
4.9 FactoryBean 118
4.10 基于注解的配置 120
4.10.1 使用注解定義Bean 120
4.10.2 使用注解配置信息啟動(dòng)Spring
容器 120
4.10.3 自動(dòng)裝配Bean 122
4.10.4 Bean作用范圍及生命過(guò)程方法 125
4.11 基于Java類的配置 127
4.11.1 使用Java類提供Bean定義
信息 127
4.11.2 使用基于Java類的配置信息
啟動(dòng)Spring容器 130
4.12 不同配置方式比較 132
4.13 小結(jié) 134
第5章 Spring容器高級(jí)主題 135
5.1 Spring容器技術(shù)內(nèi)幕 136
5.1.1 內(nèi)部工作機(jī)制 136
5.1.2 BeanDefinition 139
5.1.3 InstantiationStrategy 140
5.1.4 BeanWrapper 140
5.2 屬性編輯器 141
5.2.1 JavaBean的編輯器 142
5.2.2 Spring默認(rèn)屬性編輯器 145
5.2.3 自定義屬性編輯器 146
5.3 使用外部屬性文件 149
5.3.1 使用外部屬性文件 149
5.3.2 使用加密的屬性文件 151
5.3.3 屬性文件自身的引用 155
5.4 引用Bean的屬性值 156
5.5 國(guó)際化信息 158
5.5.1 基礎(chǔ)知識(shí) 158
5.5.2 MessageSource 163
5.5.3 容器級(jí)的國(guó)際化信息資源 166
5.6 容器事件 167
5.6.1 Spring事件類結(jié)構(gòu) 168
5.6.2 解構(gòu)Spring事件體系的具體
實(shí)現(xiàn) 169
5.6.3 一個(gè)實(shí)例 170
5.7 小結(jié) 172
第6章 Spring AOP基礎(chǔ) 173
6.1 AOP概述 174
6.1.1 AOP到底是什么 174
6.1.2 AOP術(shù)語(yǔ) 176
6.1.3 AOP的實(shí)現(xiàn)者 178
6.2 基礎(chǔ)知識(shí) 178
6.2.1 帶有橫切邏輯的實(shí)例 178
6.2.2 JDK動(dòng)態(tài)代理 181
6.2.3 CGLib動(dòng)態(tài)代理 184
6.2.4 AOP聯(lián)盟 186
6.2.5 代理知識(shí)小結(jié) 186
6.3 創(chuàng)建增強(qiáng)類 187
6.3.1 增強(qiáng)類型 187
6.3.2 前置增強(qiáng) 188
6.3.3 后置增強(qiáng) 192
6.3.4 環(huán)繞增強(qiáng) 193
6.3.5 異常拋出增強(qiáng) 194
6.3.6 引介增強(qiáng) 196
6.4 創(chuàng)建切面 199
6.4.1 切點(diǎn)類型 200
6.4.2 切面類型 201
6.4.3 靜態(tài)普通方法名匹配切面 203
6.4.4 靜態(tài)正則表達(dá)式方法匹配切面 205
6.4.5 動(dòng)態(tài)切面 208
6.4.6 流程切面 211
6.4.7 復(fù)合切點(diǎn)切面 213
6.4.8 引介切面 215
6.5 自動(dòng)創(chuàng)建代理 216
6.5.1 實(shí)現(xiàn)類介紹 217
6.5.2 BeanNameAutoProxyCreator 217
6.5.3 DefaultAdvisorAutoProxyCreator 219
6.6 小結(jié) 220
第7章 基于@AspectJ和Schema的AOP 221
7.1 Spring對(duì)AOP的支持 222
7.2 JDK 5.0注解知識(shí)快速進(jìn)階 222
7.2.1 了解注解 222
7.2.2 一個(gè)簡(jiǎn)單的注解類 223
7.2.3 使用注解 224
7.2.4 訪問(wèn)注解 225
7.3 著手使用@AspectJ 226
7.3.1 使用前的準(zhǔn)備 226
7.3.2 一個(gè)簡(jiǎn)單的例子 227
7.3.3 如何通過(guò)配置使用@AspectJ
切面 229
7.4 @AspectJ語(yǔ)法基礎(chǔ) 230
7.4.1 切點(diǎn)表達(dá)式函數(shù) 230
7.4.2 在函數(shù)入?yún)⒅惺褂猛ㄅ浞?231
7.4.3 邏輯運(yùn)算符 232
7.4.4 不同增強(qiáng)類型 232
7.4.5 引介增強(qiáng)用法 233
7.5 切點(diǎn)函數(shù)詳解 235
7.5.1 @annotation() 235
7.5.2 execution() 237
7.5.3 args()和@args() 238
7.5.4 within() 240
7.5.5 @within()和@target() 240
7.5.6 target()的this() 241
7.6 @AspectJ進(jìn)階 243
7.6.1 切點(diǎn)復(fù)合運(yùn)算 243
7.6.2 命名切點(diǎn) 244
7.6.3 增強(qiáng)織入的順序 245
7.6.4 訪問(wèn)連接點(diǎn)信息 246
7.6.5 綁定連接點(diǎn)方法入?yún)?247
7.6.6 綁定代理對(duì)象 249
7.6.7 綁定類注解對(duì)象 249
7.6.8 綁定返回值 250
7.6.9 綁定拋出的異常 251
7.7 基于Schema配置切面 252
7.7.1 一個(gè)簡(jiǎn)單切面的配置 252
7.7.2 配置命名切點(diǎn) 253
7.7.3 各種增強(qiáng)類型的配置 255
7.7.4 綁定連接點(diǎn)信息 257
7.7.5 Advisor配置 258
7.8 混合切面類型 259
7.8.1 混合使用各種切面類型 260
7.8.2 各種切面類型總結(jié) 261
7.9 JVM Class文件字節(jié)碼轉(zhuǎn)換基礎(chǔ)
知識(shí) 261
7.9.1 java.lang.instrument包的工作
原理 262
7.9.2 如何向JVM中注冊(cè)轉(zhuǎn)換器 263
7.9.3 使用JVM啟動(dòng)參數(shù)注冊(cè)
轉(zhuǎn)換器的問(wèn)題 265
7.10 使用LTW織入切面 265
7.10.1 Spring的LoadTimeWeaver 266
7.10.2 使用LTW織入一個(gè)切面 268
7.10.3 在Tomcat下的配置 270
7.10.4 在其他Web應(yīng)用服務(wù)器下的
配置 271
7.11 小結(jié) 271
第3篇 數(shù)據(jù)訪問(wèn)
第8章 Spring對(duì)DAO的支持 274
8.1 Spring的DAO理念 275
8.2 統(tǒng)一的異常體系 275
8.2.1 Spring的DAO異常體系 276
8.2.2 JDBC的異常轉(zhuǎn)換器 278
8.2.3 其他持久技術(shù)的異常轉(zhuǎn)換器 278
8.3 統(tǒng)一數(shù)據(jù)訪問(wèn)模板 279
8.3.1 使用模板和回調(diào)機(jī)制 279
8.3.2 Spring為不同持久化技術(shù)所
提供的模板類 281
8.4 數(shù)據(jù)源 282
8.4.1 配置一個(gè)數(shù)據(jù)源 282
8.4.2 獲取JNDI數(shù)據(jù)源 287
8.4.3 Spring的數(shù)據(jù)源實(shí)現(xiàn)類 287
8.5 小結(jié) 288
第9章 Spring的事務(wù)管理 289
9.1 數(shù)據(jù)庫(kù)事務(wù)基礎(chǔ)知識(shí) 290
9.1.1 何為數(shù)據(jù)庫(kù)事務(wù) 290
9.1.2 數(shù)據(jù)并發(fā)的問(wèn)題 291
9.1.3 數(shù)據(jù)庫(kù)鎖機(jī)制 293
9.1.4 事務(wù)隔離級(jí)別 294
9.1.5 JDBC對(duì)事務(wù)支持 294
9.2 ThreadLocal基礎(chǔ)知識(shí) 296
9.2.1 ThreadLocal是什么 296
9.2.2 ThreadLocal的接口方法 297
9.2.3 一個(gè)TheadLocal實(shí)例 298
9.2.4 與Thread同步機(jī)制的比較 299
9.2.5 Spring使用ThreadLocal解決
線程安全問(wèn)題 300
9.3 Spring對(duì)事務(wù)管理的支持 301
9.3.1 事務(wù)管理關(guān)鍵抽象 302
9.3.2 Spring的事務(wù)管理器實(shí)現(xiàn)類 305
9.3.3 事務(wù)同步管理器 307
9.3.4 事務(wù)傳播行為 309
9.4 編程式的事務(wù)管理 309
9.5 使用XML配置聲明式事務(wù) 310
9.5.1 一個(gè)將被實(shí)施事務(wù)增強(qiáng)的
服務(wù)接口 312
9.5.2 使用原始的
TransactionProxyFactoryBean 313
9.5.3 基于tx/aop命名空間的配置 315
9.6 使用注解配置聲明式事務(wù) 318
9.6.1 使用@Transactional注解 318
9.6.2 通過(guò)AspectJ LTW引入事務(wù)
切面 322
9.7 集成特定的應(yīng)用服務(wù)器 323
9.7.1 BEA WebLogic 324
9.7.2 BEA WebLogic 324
9.8 小結(jié) 324
第10章 Spring的事務(wù)管理難點(diǎn)剖析 325
10.1 DAO和事務(wù)管理的牽絆 326
10.1.1 JDBC訪問(wèn)數(shù)據(jù)庫(kù) 326
10.1.2 Hibernate訪問(wèn)數(shù)據(jù)庫(kù) 328
10.2 應(yīng)用分層的迷惑 330
10.3 事務(wù)方法嵌套調(diào)用的迷茫 334
10.3.1 Spring事務(wù)傳播機(jī)制回顧 334
10.3.2 相互嵌套的服務(wù)方法 335
10.4 多線程的困惑 338
10.4.1 Spring通過(guò)單實(shí)例化Bean
簡(jiǎn)化多線程問(wèn)題 338
10.4.2 啟動(dòng)獨(dú)立線程調(diào)用事務(wù)方法 338
10.5 聯(lián)合軍種作戰(zhàn)的混亂 340
10.5.1 Spring事務(wù)管理器的應(yīng)對(duì) 340
10.5.2 Hibernate+Spring JDBC
混合框架的事務(wù)管理 341
10.6 特殊方法成漏網(wǎng)之魚 345
10.6.1 哪些方法不能實(shí)施Spring AOP
事務(wù) 345
10.6.2 事務(wù)增強(qiáng)遺漏實(shí)例 345
10.7 數(shù)據(jù)連接泄漏 349
10.7.1 底層連接資源的訪問(wèn)問(wèn)題 349
10.7.2 Spring JDBC數(shù)據(jù)連接泄漏 350
10.7.3 通過(guò)DataSourceUtils獲取
數(shù)據(jù)連接 353
10.7.4 通過(guò)DataSourceUtils獲取
數(shù)據(jù)連接 355
10.7.5 JdbcTemplate如何做到對(duì)連接
泄漏的免疫 357
10.7.6 使用TransactionAwareData
SourceProxy 357
10.7.7 其他數(shù)據(jù)訪問(wèn)技術(shù)的等價(jià)類 358
10.8 小結(jié) 359
第11章 使用Spring JDBC訪問(wèn)數(shù)據(jù)庫(kù) 361
11.1 使用Spring JDBC 362
11.1.1 JDBCTemplate小試牛刀 362
11.1.2 在DAO中使用JDBCTemplate 363
11.2 基本的數(shù)據(jù)操作 364
11.2.1 更改數(shù)據(jù) 364
11.2.2 返回?cái)?shù)據(jù)庫(kù)的表自增主鍵值 367
11.2.3 批量更改數(shù)據(jù) 369
11.2.4 查詢數(shù)據(jù) 370
11.2.5 查詢單值數(shù)據(jù) 373
11.2.6 調(diào)用存儲(chǔ)過(guò)程 375
11.3 BLOB/CLOB類型數(shù)據(jù)的操作 377
11.3.1 如何獲取本地?cái)?shù)據(jù)連接 377
11.3.2 相關(guān)的操作接口 379
11.3.3 插入Lob類型的數(shù)據(jù) 380
11.3.4 以塊數(shù)據(jù)方式讀取Lob數(shù)據(jù) 383
11.3.5 以流數(shù)據(jù)方式讀取Lob數(shù)據(jù) 383
11.4 自增鍵和行集 384
11.4.1 自增鍵的使用 384
11.4.2 如何規(guī)劃主鍵方案 386
11.4.3 以行集返回?cái)?shù)據(jù) 388
11.5 其他類型的JDBCTemplate 389
11.5.1 NamedParameterJDBCTemplate 389
11.5.2 SimpleJDBCTemplate 391
11.6 以O(shè)O方式訪問(wèn)數(shù)據(jù)庫(kù) 391
11.6.1 使用MappingSqlQuery查詢
數(shù)據(jù) 391
11.6.2 使用SqlUpdate更新數(shù)據(jù) 393
11.6.3 使用StoredProcedure執(zhí)行存儲(chǔ)
過(guò)程 394
11.6.4 SqlFunction類 396
11.7 小結(jié) 396
第12章 整合其他ORM框架 398
12.1 Spring整合ORM技術(shù) 399
12.2 在Spring中使用Hibernate 400
12.2.1 配置SessionFactory 400
12.2.2 使用HibernateTemplate 403
12.2.3 處理LOB類型數(shù)據(jù) 407
12.2.4 添加Hibernate事件監(jiān)聽(tīng)器 409
12.2.5 使用原生Hibernate API 409
12.2.6 使用注解配置 410
12.2.7 事務(wù)處理 412
12.2.8 延遲加載的問(wèn)題 413
12.3 在Spring中使用myBatis 414
12.3.1 配置SqlMapClient 415
12.3.2 在Spring配置myBatis 416
12.3.3 編寫myBatis的DAO 417
12.5 DAO層設(shè)計(jì) 420
12.5.1 DAO基類的設(shè)計(jì) 421
12.5.2 查詢接口方法的設(shè)計(jì) 423
12.5.3 分頁(yè)查詢接口設(shè)計(jì) 424
12.6 小結(jié) 425
第4篇 業(yè)務(wù)層及Web層技術(shù)
第13章 任務(wù)調(diào)度和異步執(zhí)行器 428
13.1 任務(wù)調(diào)度概述 429
13.2 Quartz快速進(jìn)階 429
13.2.1 Quartz基礎(chǔ)結(jié)構(gòu) 430
13.2.2 使用SimpleTrigger 432
13.2.3 使用CronTrigger 434
13.2.4 使用Calendar 437
13.2.5 任務(wù)調(diào)度信息存儲(chǔ) 439
13.3 在Spring中使用Quartz 442
13.3.1 創(chuàng)建JobDetail 442
13.3.2 創(chuàng)建Trigger 444
13.3.3 創(chuàng)建Scheduler 446
13.4 Spring中使用JDK Timer 447
13.4.1 Timer和TimerTask 448
13.4.2 Spring對(duì)JDK Timer的支持 450
13.5 Spring對(duì)JDK 5.0 Executor的
支持 451
13.5.1 了解JDK 5.0的Executor 452
13.5.2 Spring對(duì)Executor所提供的
抽象 454
13.6 實(shí)際應(yīng)用中的任務(wù)調(diào)度 455
13.6.1 如何產(chǎn)生任務(wù) 456
13.6.2 任務(wù)調(diào)度對(duì)應(yīng)用程序集群的
影響 457
13.6.3 任務(wù)調(diào)度云 458
13.6.4 Web應(yīng)用程序中調(diào)度器的
啟動(dòng)和關(guān)閉問(wèn)題 460
13.7 小結(jié) 462
第14章 使用OXM進(jìn)行對(duì)象XML映射 463
14.1 認(rèn)識(shí)XML解析技術(shù) 464
14.1.1 什么是XML 464
14.1.2 XML的處理技術(shù) 464
14.2 XML處理利器:XStream 466
14.2.1 XStream概述 466
14.2.2 快速入門 466
14.2.3 使用XStream別名 469
14.2.4 XStream轉(zhuǎn)換器 470
14.2.5 XStream注解 472
14.2.6 流化對(duì)象 474
14.2.7 持久化API 475
14.2.8 額外功能:處理JSON 476
14.3 其他常見(jiàn)O/X Mapping開(kāi)源項(xiàng)目 478
14.3.1 JAXB 478
14.3.2 XMLBeans 482
14.3.3 Castor 485
14.3.4 JiBX 490
14.3.5 總結(jié)比較 493
14.4 與Spring OXM整合 494
14.4.1 Spring OXM概述 494
14.4.2 整合OXM實(shí)現(xiàn)者 496
14.4.3 如何在Spring中進(jìn)行配置 497
14.4.4 Spring OXM 簡(jiǎn)單實(shí)例 499
14.5 小結(jié) 501
第15章 Spring MVC 503
15.1 Spring MVC概述 504
15.1.1 體系結(jié)構(gòu) 504
15.1.2 配置DispatcherServlet 505
15.1.3 一個(gè)簡(jiǎn)單的實(shí)例 510
15.2 注解驅(qū)動(dòng)的控制器 514
15.2.1 使用@RequestMapping映射
請(qǐng)求 514
15.2.2 請(qǐng)求處理方法簽名概述 518
15.2.3 處理方法簽名詳細(xì)說(shuō)明 519
15.2.4 使用HttpMessageConverter<T> 523
15.2.5 處理模型數(shù)據(jù) 532
15.3 處理方法的數(shù)據(jù)綁定 538
15.3.1 數(shù)據(jù)綁定流程剖析 539
15.3.2 數(shù)據(jù)轉(zhuǎn)換 539
15.3.3 數(shù)據(jù)格式化 545
15.3.4 數(shù)據(jù)校驗(yàn) 549
15.4 視圖和視圖解析器 558
15.4.1 認(rèn)識(shí)視圖 558
15.4.2 認(rèn)識(shí)視圖解析器 560
15.4.3 JSP和JSTL 561
15.4.4 模板視圖 565
15.4.5 Excel 569
15.4.6 PDF 570
15.4.7 輸出XML 572
15.4.8 輸出JSON 573
15.4.9 使用XmlViewResolver 573
15.4.10 使用ResourceBundle
ViewResolver 574
15.4.11 混合使用多種視圖技術(shù) 575
15.5 本地化解析 577
15.5.1 本地化概述 577
15.5.2 使用CookieLocaleResolver 578
15.5.3 使用SessionLocaleResolver 579
15.5.4 使用LocaleChangeInterceptor 579
15.6 文件上傳 579
15.6.1 配置MultipartResolver 580
15.6.2 編寫控制器和文件上傳表單頁(yè)面 580
15.7 雜項(xiàng) 581
15.7.1 靜態(tài)資源處理 581
15.7.2 裝配攔截器 586
15.7.3 異常處理 587
15.8 小結(jié) 589
第5篇 測(cè)試及實(shí)戰(zhàn)
第16章 實(shí)戰(zhàn)型單元測(cè)試 592
16.1 單元測(cè)試概述 593
16.1.1 為什么需要單元測(cè)試 593
16.1.2 單元測(cè)試之誤解 594
16.1.3 單元測(cè)試之困境 595
16.1.4 單元測(cè)試基本概念 596
16.2 JUnit 4快速進(jìn)階 600
16.2.1 JUnit 4概述 600
16.2.2 JUnit 4生命周期 601
16.2.3 使用JUnit 4 601
16.3 模擬利器Mockito 608
16.3.1 模擬測(cè)試概述 608
16.3.2 創(chuàng)建Mock對(duì)象 608
16.3.3 設(shè)定Mock對(duì)象的期望行為及
返回值 609
16.3.4 驗(yàn)證交互行為 611
16.4 測(cè)試整合之王Unitils 612
16.4.1 Unitils概述 612
16.4.2 集成Spring 615
16.4.3 集成Hibernate 618
16.4.4 集成Dbunit 619
16.4.5 自定義擴(kuò)展模塊 620
16.5 使用Unitils測(cè)試DAO層 620
16.5.1 數(shù)據(jù)庫(kù)測(cè)試的難點(diǎn) 621
16.5.2 擴(kuò)展Dbunit用Excel準(zhǔn)備數(shù)據(jù) 621
16.5.3 測(cè)試實(shí)戰(zhàn) 624
16.6 使用unitils測(cè)試Service層 634
16.7 測(cè)試Web層 639
16.7.1 對(duì)LoginController進(jìn)行單元
測(cè)試 640
16.7.2 使用Spring Servlet API模擬
對(duì)象 641
16.7.3 使用Spring RestTemplate測(cè)試 642
16.7.4 使用Selenium測(cè)試 644
16.8 小結(jié) 647
第17章 實(shí)戰(zhàn)案例開(kāi)發(fā) 648
17.1 論壇案例概述 649
17.1.1 論壇整體功能結(jié)構(gòu) 649
17.1.2 論壇用例描述 649
17.1.3 主要功能流程描述 651
17.2 系統(tǒng)設(shè)計(jì) 655
17.2.1 技術(shù)框架選擇 655
17.2.2 Web目錄結(jié)構(gòu)及類包結(jié)構(gòu)規(guī)劃 656
17.2.3 單元測(cè)試類包結(jié)構(gòu)規(guī)劃 657
17.2.4 系統(tǒng)的結(jié)構(gòu)圖 657
17.2.5 PO的類設(shè)計(jì) 658
17.2.6 持久層設(shè)計(jì) 659
17.2.7 服務(wù)層設(shè)計(jì) 659
17.2.8 Web層設(shè)計(jì) 660
17.2.9 數(shù)據(jù)庫(kù)設(shè)計(jì) 661
17.3 開(kāi)發(fā)前的準(zhǔn)備 663
17.4 持久層開(kāi)發(fā) 664
17.4.1 PO類 664
17.4.2 DAO基類 666
17.4.3 通過(guò)擴(kuò)展基類所定義DAO類 671
17.4.4 DAO Bean的裝配 672
17.4.5 使用Hibernate二級(jí)緩存 674
17.5 對(duì)持久層進(jìn)行測(cè)試 676
17.5.1 配置Unitils測(cè)試環(huán)境 676
17.5.2 準(zhǔn)備測(cè)試數(shù)據(jù)庫(kù)及測(cè)試數(shù)據(jù) 677
17.5.3 編寫DAO測(cè)試基類 678
17.5.4 編寫B(tài)oardDao測(cè)試用例 678
17.6 服務(wù)層開(kāi)發(fā) 680
17.6.1 UserService的開(kāi)發(fā) 680
17.6.2 ForumService的開(kāi)發(fā) 682
17.6.3 服務(wù)類Bean的裝配 685
17.7 對(duì)服務(wù)層進(jìn)行測(cè)試 686
17.7.1 編寫Service測(cè)試基類 687
17.7.2 編寫ForumService測(cè)試用例 687
17.8 Web層開(kāi)發(fā) 689
17.8.1 BaseController的基類 689
17.8.2 用戶登錄和注銷 691
17.8.3 用戶注冊(cè) 692
17.8.4 論壇管理 694
17.8.5 論壇普通功能 696
17.8.6 分頁(yè)顯示論壇版塊的主題帖子 698
17.8.7 web.xml配置 702
17.8.8 Spring MVC配置 704
17.9 對(duì)Web層進(jìn)行測(cè)試 705
17.9.1 編寫Web測(cè)試基類 705
17.9.2 編寫ForumManageController
測(cè)試用例 706
17.10 部署和運(yùn)行應(yīng)用 707
17.11 小結(jié) 710
以下內(nèi)容詳見(jiàn)本書配書光盤:
附錄A JavaMail發(fā)送郵件 711
附錄B 在Spring中開(kāi)發(fā)Web Service 738
展開(kāi)全部
Spring 3.X企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)-含光盤1張 作者簡(jiǎn)介
陳雄華,2002年畢業(yè)于廈門大學(xué)計(jì)算機(jī)與信息工程學(xué)院,獲碩士學(xué)位。是寶寶淘科技有限公司的創(chuàng)始人之一(www.baobaotao.com)。這是一個(gè)服務(wù)于全國(guó)母嬰用戶的綜合性網(wǎng)站,作者負(fù)責(zé)網(wǎng)站整體框架設(shè)計(jì)牲及核心代碼開(kāi)發(fā)的工作。技術(shù)開(kāi)發(fā)之余,常將經(jīng)驗(yàn)所得行諸于文字,作者是天極網(wǎng)、IT168的專欄作者,在各大技術(shù)網(wǎng)站、報(bào)刊雜志發(fā)表過(guò)數(shù)十篇技術(shù)文章,廣受讀者好評(píng)。于2005年出版《精通JBuilder 2005》,本書是2005年最暢銷技術(shù)圖書之一。
2006年畢業(yè)于集美大學(xué)軟件工程專業(yè),獲取學(xué)士學(xué)位。資深軟件工程師,精通Spring等優(yōu)秀開(kāi)源技術(shù)在企業(yè)的應(yīng)用開(kāi)發(fā),主要研究方向包括業(yè)務(wù)基礎(chǔ)平臺(tái)、BPM、智能報(bào)表、分布式等技術(shù)。