注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計JAVA及其相關精通Spring-Java輕量級架構開發(fā)實踐(含盤)

精通Spring-Java輕量級架構開發(fā)實踐(含盤)

精通Spring-Java輕量級架構開發(fā)實踐(含盤)

定 價:¥68.00

作 者: 孟劼 編著
出版社: 人民郵電出版社
叢編項: Java輕量級架構開發(fā)實踐
標 簽: Java 語言與開發(fā)工具 程序語言與軟件開發(fā) 計算機與互聯(lián)網

ISBN: 9787115150295 出版時間: 2006-10-01 包裝: 膠版紙
開本: 16開 頁數: 593 字數:  

內容簡介

  本書由淺入深、循序漸進地介紹了開源應用框架Spring的開發(fā)思想和實踐。全書共分為20章,內容涵蓋了Spring的基礎知識體系、獲取和部署方法、背后的先進核心理念、相關的部分設計模式和J2EE核心模式、核心組件Bean工廠的使用、Spring風格的面向方面編程、各種J2EE企業(yè)級應用框架和解決方案(包括持久數據訪問、事務管理、EJB、郵件服務、時程安排、Web MVC框架、表現(xiàn)層視圖技術、JMX遠程方案等)、Spring和單元測試等內容?!〈送獗緯财饰隽薙pring寵物店示例,最后還討論了寵物店和Martin Fowler企業(yè)架構模式(POEAA)的關系?!”緯m用初中級讀者學習,對高級用戶也有很好的參考價值。

作者簡介

暫缺《精通Spring-Java輕量級架構開發(fā)實踐(含盤)》作者簡介

圖書目錄

第1章 Spring基礎知識 1
1.1 Spring的來歷和目標 1
1.2 Spring概覽 2
1.3 Spring的應用場景 3
1.4 Spring和J2EE 5
1.4.1 經典J2EE體系架構 5
1.4.2 輕量級容器 6
1.4.3 Spring和J2EE的關系 6
1.5 小結 6
第2章 開始Spring之旅 7
2.1 獲取Spring 7
2.1.1 兩大開源網站簡介 7
2.1.2 獲取Spring發(fā)布包和源代碼 7
2.2 Spring的標準發(fā)布包和相關軟件包 9
2.2.1 Spring標準發(fā)布包 9
2.2.2 Spring相關軟件包 10
2.2.3 Spring自帶范例 12
2.3 部署Spring 13
2.4 Spring應用初體驗 14
2.4.1 Hello World遇到的問題 14
2.4.2 使用Spring對Hello World進行重構 20
2.4.3 實現(xiàn)依賴注射(DI) 22
2.4.4 重構總結 24
2.4.5 簡單的Web應用程序Hello World 24
2.5 小結 26
第3章 貫穿Spring應用的核心理念 27
3.1 輕量級容器再探 27
3.1.1 容器和輕量級容器 27
3.1.2 需要容器的理由 28
3.1.3 輕量級容器的優(yōu)勢 28
3.2 控制反轉(IoC) 28
3.2.1 一個簡單的例子 29
3.2.2 引入問題 31
3.2.3 使用控制反轉(Inversion of Control)模式 32
3.2.4 總結 33
3.3 依賴注射 34
3.3.1 依賴注射的幾種形式 35
3.3.2 使用Spring 進行設值方法和構造函數注射 35
3.3.3 設值方法注射和構造函數注射的使用場合 36
3.4 面向方面編程(Aspect Oriented Programming) 37
3.4.1 AOP的歷史來源 37
3.4.2 為什么需要AOP 38
3.4.3 AOP的重要概念 39
3.4.4 理解“橫切” 41
3.4.5 AOP的實現(xiàn)策略 43
3.4.6 認識AspectJ 44
3.4.7 安裝AspectJ的運行環(huán)境 44
3.4.8 用J2SE動態(tài)代理實現(xiàn)AOP 47
3.4.9 用AspectJ實現(xiàn)AOP 51
3.4.10 深入理解AspectJ 54
3.5 單元測試(Unit Test) 58
3.5.1 單元測試和JUnit框架 59
3.5.2 JUnit框架的3個核心概念 60
3.5.3 準備測試 60
3.5.4 添加測試代碼并進行測試 62
3.5.5 取得更有意義的出錯信息 63
3.5.6 捕捉錯誤信息 64
3.5.7 單元測試技巧 65
3.6 測試驅動開發(fā)(Test Driven Development) 67
3.6.1 傳統(tǒng)測試的問題 67
3.6.2 測試驅動開發(fā)的應對策略 68
3.6.3 一個簡單的示例 68
3.6.4 總結測試驅動開發(fā)的優(yōu)勢 73
3.7 小結 74
第4章 模式:Spring前行的路標 75
4.1 模式(Pattern)入門 75
4.1.1 什么是模式 75
4.1.2 不用模式產生的問題 76
4.1.3 通過實例理解模式本質 79
4.1.4 小結 81
4.2 工廠模式(Design Pattern:Factory Method)的精髓 81
4.2.1 引入問題 82
4.2.2 解決方法 83
4.2.3 工廠模式和依賴倒置的關系 85
4.3 單例模式(Design Pattern:Singleton) 88
4.3.1 單例模式的實現(xiàn) 88
4.3.2 單例注冊表 89
4.4 模板模式和策略模式(Design Pattern:Template Method And Strategy) 91
4.4.1 模板模式 92
4.4.2 策略模式 95
4.5 代理模式(Design Pattern:Proxy) 100
4.5.1 第一個代理模式的例子 100
4.5.2 虛擬代理(Virtual Proxy) 103
4.6 數據訪問對象模式(J2EE Pattern:Data Access Object) 105
4.7 模型視圖控制器模式(Architecture/Framework Pattern:Model View Controller) 113
4.7.1 Model 1和Model 2簡介 114
4.7.2 一個Model 2框架示例 115
4.8 框架與模式的關系 120
4.9 Spring和工廠模式 121
4.9.1 Spring工廠體系的另類視圖 121
4.9.2 Spring工廠核心原理 122
4.10 Spring和單例模式 123
4.11 Spring的模板以及策略模式 125
4.11.1 Spring模板模式 125
4.11.2 Spring策略模式 126
4.12 Spring和代理模式 128
4.13 Spring和數據訪問對象模式 129
4.14 Spring和MVC模式 131
第5章 Spring核心Bean工廠裝配指南 133
5.1 核心Bean工廠 133
5.1.1 初識Bean工廠 133
5.1.2 擁有一份Bean的基礎定義 135
5.1.3 使用構造函數創(chuàng)建Bean 136
5.1.4 使用靜態(tài)工廠方法創(chuàng)建Bean 136
5.1.5 使用實例工廠方法創(chuàng)建Bean 137
5.1.6 Bean的標識符 139
5.1.7 是否使用Singleton 139
5.2 裝配各種應用協(xié)作對象:Bean 141
5.2.1 設置Bean的屬性和協(xié)作者 141
5.2.2 Bean的依賴決議 146
5.2.3 構造子參數決議 147
5.2.4 自動裝配(Autowiring) 150
5.2.5 依賴檢查 152
5.3 Bean屬性和構造函數參數的細節(jié) 153
5.3.1 使用value元素設定屬性 153
5.3.2 使用null元素設定空值 154
5.3.3 使用collection(集合)元素定義集合 154
5.3.4 通過嵌套Bean元素來定義內部Bean(innerBean) 157
5.3.5 使用idref元素預檢錯誤 158
5.3.6 使用ref元素設定依賴 158
5.3.7 value與ref的簡寫式 161
5.3.8 使用depends-on屬性強制依賴 162
5.4 方法也可以被注射 162
5.4.1 使用Lookup方法注射 162
5.4.2 替換任意方法 164
5.5 定制Bean的一些原生屬性 165
5.5.1 生命周期接口 165
5.5.2 讓Bean“知道”自己的身份 167
5.5.3 什么是FactoryBean 169
5.6 父和子Bean的定義 170
5.7 使用后處理器(Post-Processor) 173
5.7.1 使用BeanPostProcessor定制Bean 173
5.7.2 使用BeanFactoryPostProcessor定制Bean工廠 175
5.7.3 使用自定義的PropertyEditor 177
第6章 ApplicationContext和更多特性 178
6.1 ApplicationContext簡介 178
6.2 ApplicationContext的擴展功能 178
6.2.1 資源國際化 178
6.2.2 事件傳播 181
6.2.3 底層資源和ApplicationContext 184
6.3 在ApplicationContext中客制Bean的屬性和行為 188
6.4 使用自定義的PropertyEditors 189
6.5 創(chuàng)建Web應用上下文 192
6.6 更多的輕松裝配方式 193
6.6.1 從屬性表達式來設置Bean的屬性或者構造函數參數 193
6.6.2 從一個字段值來設置Bean的屬性或者構造函數參數 195
6.6.3 調用另外一個方法并且使用其返回值(也可以沒有返回值) 195
6.6.4 引入其他Bean的定義文件 196
6.7 Bean包裝器(Wrapper)和屬性編輯器(PropertyEditor) 197
6.7.1 BeanWrapper簡介 197
6.7.2 JavaBean屬性的設置、獲取及嵌套 197
6.7.3 屬性編輯器 200
6.8 Spring驗證機制初探 202
6.9 小結 203
第7章 Spring面向方面編程基礎 204
7.1 Spring AOP基礎概念 204
7.1.1 AOP聯(lián)盟簡介 204
7.1.2 Spring AOP功能簡介 205
7.1.3 Spring AOP概念重整 206
7.2 Spring AOP編程起步 207
7.2.1 陳舊案例重現(xiàn) 207
7.2.2 抽離關注點 208
7.2.3 劃分切入點 210
7.2.4 結合Spring AOP和IoC:聲明配置 212
7.3 Spring AOP代理和代理工廠 213
7.3.1 Spring代理工廠簡介 214
7.3.2 使用ProxyFactory 214
7.3.3 使用ProxyFactoryBean 215
7.3.4 使用ProxyFactoryBean暴露的屬性 215
7.3.5 選擇合適的AOP代理 218
7.4 Spring AOP建議(Advice) 219
7.4.1 前置建議(Before Advice) 219
7.4.2 返回后(后置)建議(After Returning Advice) 224
7.4.3 環(huán)繞攔截建議(Interception Around Advice) 230
7.4.4 拋出建議(Throws Advice) 234
7.4.5 引介建議(Introduction Advice) 237
7.5 Spring AOP切入點(Pointcut)和顧問(Advisor) 237
7.5.1 未使用切入點存在的問題 237
7.5.2 引入切入點和顧問 237
7.5.3 初識切入點背后的ClassFilter和MethodMatcher接口 239
7.5.4 透過MethodMatcher接口了解靜態(tài)和動態(tài)切入點 239
7.5.5 靜態(tài)切入點和顧問DefaultPointcutAdvisor 242
7.5.6 靜態(tài)切入點和顧問StaticMethodMatcherPointcut 242
7.5.7 靜態(tài)切入點和顧問NameMatchMethodPointcut 245
7.5.8 使用正則表達式切入點 246
7.5.9 使用便利的切入點顧問(PointcutAdvisor) 247
7.5.10 使用動態(tài)切入點(Dynamic Pointcut)和自定義顧問(Advisor) 249
第8章 面向方面編程(AOP)高級應用 254
8.1 Spring AOP引介(Introduction)概述 254
8.2 使用混入(Mixin)實現(xiàn)引介(Introduction)建議 256
8.2.1 引入目標對象和待織入功能接口 256
8.2.2 給予關鍵引介建議 257
8.2.3 聲明配置引介建議并測試 259
8.3 使用自動代理(Auto Proxy) 262
8.4 Spring AOP企業(yè)級服務 264
8.4.1 Spring AOP企業(yè)級服務菜單 264
8.4.2 使用TransactionProxyFactoryBean提供聲明式事務管理 265
8.4.3 更為強大靈活的事務管理聲明方式 270
8.4.4 使用EJB代理 272
8.5 小結 272
第9章 J2EE的持久化數據訪問方案 273
9.1 傳統(tǒng)高效的JDBC方案 273
9.2 基于SQL語句映射的Ibatis框架 275
9.2.1 IBatis簡介 275
9.2.2 IBatis和高級ORM工具的比較 275
9.2.3 IBatis的應用場合 276
9.2.4 IBatis示例快照 276
9.3 流行的ORM利器Hibernate 278
9.3.1 Hibernate簡介 278
9.3.2 Hibernate示例快照 279
9.4 再探數據訪問對象(DAO) 282
9.4.1 傳統(tǒng)的JDBC和DAO 282
9.4.2 IBatis和DAO 282
9.4.3 Hibernate和DAO 286
9.5 ORM方案的應用場合 286
9.6 寵物店背后的IBatis:SQL Map基本概念 286
9.7 寵物店背后的IBatis:XML配置文件 287
9.7.1 SQL Map的XML配置文件 287
9.7.2 使用 properties 元素引入屬性文件 288
9.7.3 使用 setting 元素配置SqlMap 289
9.7.4 使用 typeAlias 元素指定別名 289
9.7.5 使用 transactionManager 元素配置事務策略 289
9.7.6 使用 datasource 元素配置數據源 290
9.7.7 使用 sqlMap 元素引入SQL Map映射文件 292
9.7.8 先行準備主控測試和子測試套件 293
9.8 寵物店背后的IBatis:XML映射文件 294
9.8.1 SQL Map的XML映射文件 294
9.8.2 通過Mapped Statement使用SQL 296
9.8.3 使用 Statements 元素指定SQL語句 296
9.8.4 SQL語句特殊規(guī)則 297
9.8.5 內聯(lián)參數(Inline Parameter)簡介 298
9.8.6 使用parameterClass指定參數類 300
9.8.7 基本類型輸入參數 300
9.8.8 使用resultClass指定結果類 301
9.8.9 使用resultMap配置映射 302
9.8.10 IBatis事務處理 303
9.8.11 小結 304
9.9 寵物店背后的IBatis:XML映射文件高級特性 305
9.9.1 IBatis自動生成的主鍵 305
9.9.2 簡單的動態(tài)SQL元素 306
9.9.3 緩存Mapped Statement結果集 307
9.9.4 緩存類型 308
9.9.5 動態(tài)Mapped Statement 310
9.9.6 運行自動測試 312
9.10 用Hibernate創(chuàng)建Spring寵物店的簡易進貨系統(tǒng) 313
9.10.1 Spring寵物店持久層滲入 313
9.10.2 實現(xiàn)Hibernate進貨DAO:實體持久對象 314
9.10.3 實現(xiàn)Hibernate進貨DAO:映射和基本配置 315
9.10.4 實現(xiàn)Hibernate進貨DAO:工具類和DAO實現(xiàn) 317
9.10.5 實現(xiàn)Hibernate進貨DAO:測試驗收 318
9.11 小結 320
第10章 Spring和J2EE持久化數據訪問 321
10.1 Spring對數據訪問對象(DAO)的支持 321
10.1.1 通用的數據訪問異常 321
10.1.2 通用的DAO抽象支持類 321
10.1.3 向業(yè)務對象注射DAO 322
10.2 Spring對JDBC的支持 324
10.2.1 JdbcTemplate和數據源概述 324
10.2.2 使用JdbcTemplate和數據源 325
10.2.3 對象化RDBMS操作概述 327
10.2.4 對象化RDBMS操作:使用MappingSqlQuery 328
10.2.5 對象化RDBMS操作:使用SqlUpdate 331
10.3 Spring對IBatis的支持 332
10.3.1 標準JavaBean實體和映射 332
10.3.2 銜接IBatis配置和DAO實現(xiàn) 333
10.3.3 關鍵整合點:Spring配置文件 334
10.3.4 添加聲明式事務管理 335
10.4 Spring對Hibernate的支持 336
10.4.1 在Spring上下文中配置SessionFactory 336
10.4.2 重建Hibernate進貨DAO偽實現(xiàn) 338
10.4.3 TDD實現(xiàn)規(guī)劃測試案例 339
10.4.4 TDD實現(xiàn)完善基礎設施 341
10.4.5 添加HibernateTemplate和HibernateCallback實現(xiàn) 341
10.4.6 聲明式管理Hibernate本地事務 343
10.4.7 聲明式管理Hibernate分布式事務 345
第11章 傳統(tǒng)的企業(yè)JavaBean(EJB) 347
11.1 什么是EJB 347
11.2 什么是會話Bean(Session Bean) 348
11.2.1 無狀態(tài)會話Bean 349
11.2.2 有狀態(tài)會話Bean 349
11.2.3 何時使用會話Bean 349
11.3 實體Bean(Entity Bean) 350
11.3.1 EntityBean和Session Bean的異同 350
11.3.2 容器管理的持久性(CMP) 351
11.3.3 何時需要EntityBean 352
11.4 消息驅動Bean 352
11.4.1 Message-DrivenBean和Session以及Entity Bean的異同 353
11.4.2 何時使用Message-DrivenBean 353
11.5 定義客戶端訪問接口 353
11.5.1 遠程客戶端(Remote Clients) 354
11.5.2 本地客戶端(Local Clients) 354
11.5.3 Local接口和CMR(Container-Managed RelationShips) 355
11.5.4 遠程還是本地訪問的選用 355
11.5.5 方法參數和訪問方式 355
11.6 企業(yè)Bean的內容和命名約定 356
11.7 EJB和JBoss開發(fā)實踐 357
11.7.1 JBoss的安裝與啟動 357
11.7.2 在JBoss下開發(fā)部署第一個HelloWorld EJB 360
11.7.3 無狀態(tài)會話Bean(Stateless Session Bean):開發(fā)和部署 364
11.7.4 無狀態(tài)會話Bean:效果和生命周期 369
11.7.5 有狀態(tài)會話Bean(Stateful Session Bean):開發(fā)和部署 370
11.7.6 有狀態(tài)會話Bean(Stateful Session Bean):效果和生命周期 376
11.8 小結 377
第12章 Spring和EJB 378
12.1 概述 378
12.2 Spring對EJB提供的支持 378
12.3 Spring的EJB抽象訪問層 379
12.3.1 深入BeanFactoryLocator接口 380
12.3.2 BeanFactoryLocator背后資源消耗的考量 382
12.4 使用Spring構建本地無狀態(tài)會話Bean 383
12.4.1 提供業(yè)務契約:公共服務接口 384
12.4.2 提供本地和本地Home接口 384
12.4.3 提供可測試的業(yè)務委托:POJO實現(xiàn)類 385
12.4.4 提供Spring介入的企業(yè)Bean實現(xiàn)主類 385
12.4.5 給出EJB組件部署描述符 386
12.4.6 給出Spring和特定EJB容器配置,發(fā)布EJB 387
12.4.7 創(chuàng)建Web客戶端,配置Web應用 388
12.4.8 解析Spring配置:SLSB代理工廠Bean 389
12.4.9 創(chuàng)建Servlet測試SLSB,發(fā)布Web客戶包 390
12.5 使用Spring構建本地有狀態(tài)會話Bean 391
12.5.1 SFSB解決方案 391
12.5.2 提供業(yè)務契約:公共服務接口 392
12.5.3 提供本地和本地Home接口 392
12.5.4 提供可測試的業(yè)務委托:POJO實現(xiàn)類 393
12.5.5 提供Spring介入的企業(yè)Bean實現(xiàn)主類 394
12.5.6 提供定制的EJB異?!?96
12.5.7 給出部署表述符和Spring配置文件 396
12.5.8 創(chuàng)建Web客戶端并配置Web應用 397
12.5.9 解析Spring配置:使用JndiObjectFactoryBean自動查找JNDI 398
12.5.10 創(chuàng)建Servlet測試SFSB并發(fā)布Web客戶包 399
12.6 Spring眼中的EJB 400
12.6.1 EJB的缺點 400
12.6.2 Spring提倡的J2EE輕量架構理念:IoC/DI、AOP、裝配和粘合 400
第13章 Spring和郵件服務 402
13.1 Spring郵件抽象層 402
13.2 使用Spring郵件抽象發(fā)送簡單文本郵件 404
13.2.1 定義抽象父類模板 404
13.2.2 實現(xiàn)郵件發(fā)送子類 405
13.2.3 更靈活的實現(xiàn) 406
13.2.4 特定功能的子類實現(xiàn) 409
13.3 發(fā)送HTML MIME郵件的設計實現(xiàn) 409
13.3.1 分析設計和初步實現(xiàn) 410
13.3.2 定義MailMessage實體 411
13.3.3 功能實現(xiàn)和配置 413
13.4 發(fā)送HTML/純文本MIME郵件,使用接口回調 415
13.4.1 回調的契機 415
13.4.2 功能實現(xiàn)和配置 415
13.5 小結 418
第14章 Spring和排程(scheduling)技術 419
14.1 排程(Scheduling)原理 419
14.2 什么是Timer 419
14.2.1 執(zhí)行一次 420
14.2.2 周期執(zhí)行 421
14.3 Spring對Timer的支持 422
14.3.1 用Spring來控制Timer 422
14.3.2 使用MethodInvokingTimerTaskFactoryBean工廠類 424
14.4 什么是Quartz 426
14.4.1 Quartz的核心概念 426
14.4.2 使用SimpleTrigger排程 426
14.4.3 使用CronTrigger排程 430
14.5 Spring對Quartz的支持 433
14.5.1 使用Spring支持Quartz SimpleTrigger排程 433
14.5.2 使用Spring支持Quartz CronTrigger排程 435
14.6 Quartz的持久化 438
14.6.1 Quartz持久機制的核心概念 438
14.6.2 使用Spring做一個JDBC有狀態(tài)Quartz Job 438
14.6.3 JDBC持久的有狀態(tài)和無狀態(tài)job示例運行效果解析 441
14.7 小結 442
第15章 J2EE中流行的Web MVC框架 443
15.1 請求驅動的Web MVC框架簡介 443
15.2 請求驅動的Web MVC框架在Struts中的實現(xiàn) 444
15.2.1 Struts的簡介和基本Web配置 444
15.2.2 Struts的Action和ActionForm 445
15.2.3 Struts的核心原理 447
15.3 請求驅動的Web MVC框架在WebWork 2中的實現(xiàn) 449
15.3.1 WebWork 2簡介 449
15.3.2 WebWork 2實現(xiàn)Web登錄的頁面流程 450
15.3.3 WebWork 2開發(fā)實踐:配置Web應用 451
15.3.4 WebWork 2開發(fā)實踐:配置驗證、實現(xiàn)Action并綁定驗證 452
15.3.5 WebWork 2開發(fā)實踐:實現(xiàn)視圖 454
15.4 事件驅動的Web MVC框架 455
15.4.1 簡介 455
15.4.2 Tapestry概述 455
15.4.3 搭建Tapestry示例運行環(huán)境 456
15.4.4 Tapestry開發(fā)實踐:配置Web應用 457
15.4.5 Tapestry開發(fā)實踐:創(chuàng)建HTML視圖模板 458
15.4.6 Tapestry開發(fā)實踐:創(chuàng)建HTML組件規(guī)范文件 460
15.4.7 Tapestry開發(fā)實踐:創(chuàng)建頁面類 461
15.4.8 無需組件規(guī)范的HTML視圖模板 462
15.5 小結 464
第16章 請求驅動的Spring Web MVC框架
16.1 Spring Web MVC框架簡介 465
16.2 分發(fā)器 466
16.3 處理器映射 467
16.4 處理器攔截器 468
16.5 控制器簡介 470
16.5.1 簡單控制器 470
16.5.2 控制器抽象基類 471
16.5.3 命令控制器抽象基類 472
16.5.4 表單控制器簡介 473
16.6 普通表單控制器 473
16.6.1 普通表單控制器:視圖流轉 473
16.6.2 普通表單控制器:基本配置 475
16.6.3 普通表單控制器:控制器和處理流程 476
16.6.4 普通表單控制器:表單、領域模型和視圖 479
16.6.5 普通表單控制器:驗證器和錯誤采集 482
16.7 向導式表單控制器 482
16.7.1 向導式表單控制器:視圖流轉 482
16.7.2 向導式表單控制器:基本配置 485
16.7.3 向導式表單控制器:控制器、驗證器和處理流程 486
16.7.4 向導式表單控制器:表單、領域模型 489
16.8 模型、視圖和視圖解析(View Resovling) 490
16.8.1 返回視圖名稱 490
16.8.2 保存模型屬性 490
16.8.3 視圖解析器和視圖抽象 491
16.9 小結 492
第17章 Spring和視圖技術及Web框架的集成 493
17.1 Spring集成JSP和JSTL 493
17.1.1 JSP和JSTL簡介 493
17.1.2 視圖解析器 493
17.1.3 Spring的專有標簽 497
17.2 Spring集成XSLT 499
17.2.1 XSLT簡介 499
17.2.2 示例開發(fā):需求和部署配置 499
17.2.3 示例開發(fā):配置Web應用 500
17.2.4 示例開發(fā):把模型數據轉換成XML文檔 500
17.2.5 示例開發(fā):使用XSLT進行文檔轉換 503
17.3 Spring集成PDF/Excel 504
17.3.1 簡介 504
17.3.2 示例開發(fā):部署、配置Web應用和模型數據采集 504
17.3.3 示例開發(fā):把模型數據轉換成PDF和Excel視圖 505
17.4 Spring集成Struts 508
17.4.1 集成概述和手法 508
17.4.2 Spring應用上下文裝載的兩種方式 509
17.4.3 使用Spring的ActionSupport類整合Struts 510
17.4.4 使用Spring的DelegatingRequestProcessor覆寫Struts的RequestProcessor 512
17.4.5 使用Spring代理委托管理Struts Action 514
17.4.6 使用Spring攔截Struts Action,替換寵物店的安全策略 515
17.5 Spring集成WebWork2 519
17.6 Spring集成Tapestry4 522
17.6.1 Tapestry4背后的IoC容器:HiveMind 522
17.6.2 部署環(huán)境和邏輯分層 522
17.6.3 分層重構:引入表現(xiàn)層的業(yè)務注射,轉移業(yè)務邏輯 523
17.6.4 分層重構:引入業(yè)務層,實現(xiàn)業(yè)務邏輯 524
17.6.5 分層重構:引入工具層,向Tapestry應用注射Spring上下文 524
17.6.6 集成配置:Web應用配置、修改組件規(guī)范文件 525
17.6.7 集成配置:通過HiveMind和工具類,銜接Spring 526
17.7 小結 528
第18章 Spring和單元測試 529
18.1 模仿對象 529
18.2 Spring Mock簡介 529
18.2.1 Spring Mock Web簡介 530
18.2.2 擴展JUnit框架的測試基類 530
18.3 Spring Mock快速指南 531
18.3.1 Web組件的單元測試:搭建測試環(huán)境 531
18.3.2 Web組件的單元測試:視圖轉發(fā) 533
18.3.3 Web組件的單元測試:會話狀態(tài) 533
18.3.4 Web組件的單元測試:簡單邏輯 534
18.3.5 事務性單元測試:使用Spring Mock事務基類搭建測試環(huán)境 535
18.4 EasyMock快速指南 538
18.4.1 EasyMock簡介 538
18.4.2 組件單元測試:搭建測試環(huán)境 539
18.4.3 組件單元測試:模擬業(yè)務接口和領域對象的交互 540
18.4.4 組件單元測試:模擬具體類和DAO的交互 541
18.5 結合使用Spring Mock和EasyMock 541
18.5.1 Web組件單元測試:模擬控制器和業(yè)務接口、領域對象的交互 542
18.5.2 Web組件單元測試:重定向測試 545
第19章 Spring和JMX技術 547
19.1 JMX概述 547
19.2 JMX的體系分層架構 547
19.2.1 核心組件 548
19.2.2 設備層(Instrumentation Level) 549
19.2.3 代理層(Agent Level) 550
19.2.4 分布服務層(Distributed Service Level) 552
19.2.5 附加管理協(xié)議API 552
19.3 JMX編程實踐 553
19.3.1 標準MBean編程:MBean接口和實現(xiàn)類 553
19.3.2 標準MBean編程:JMX Agent 554
19.3.3 標準MBean編程:手工和可視化注冊MBean 555
19.3.4 通知模型編程 557
19.3.5 動態(tài)MBean和輔助元數據類編程 561
19.3.6 JMX連接器(Connectors)編程:基本流程 562
19.3.7 JMX Connectors編程:準備MBean套件和監(jiān)聽器 563
19.3.8 JMX Connectors編程:創(chuàng)建服務器 565
19.3.9 JMX Connectors編程:創(chuàng)建客戶端 567
19.4 Spring對JMX的集成支持 568
19.4.1 Spring集成JMX概述 568
19.4.2 視Spring Bean為JMX MBean:簡單的JavaBean配置 569
19.4.3 視Spring Bean為JMX MBean:客戶代碼 571
19.4.4 視Spring Bean為JMX MBean:自動偵測并且注冊MBean 572
19.4.5 視Spring Bean為JMX MBean:ObjectName命名策略 574
19.4.6 Spring的JSR-160 Connector支持:服務器端配置和代碼 576
19.4.7 Spring的JSR-160 Connector支持:客戶端配置和代碼 578
19.4.8 Sping集成JMX技術展望 579
第20章 從Spring寵物店看企業(yè)應用架構模式 580
20.1 企業(yè)應用架構模式(POEAA)簡介 580
20.1.1 什么是企業(yè)應用架構模式 580
20.1.2 架構和分層 580
20.1.3 企業(yè)應用 580
20.2 寵物店和分層 581
20.3 寵物店和領域邏輯 582
20.3.1 如何組織領域邏輯 582
20.3.2 事務腳本 583
20.3.3 領域模型的基本概念 585
20.3.4 領域模型的持久 588
20.3.5 服務層 589
20.4 寵物店和數據源架構模式 591
20.5 寵物店和Web表現(xiàn)模式 592
20.5.1 模板視圖 592
20.5.2 轉換視圖 592
20.5.3 兩步視圖 592

本目錄推薦

掃描二維碼
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號