注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)精通Spring-Java輕量級(jí)架構(gòu)開發(fā)實(shí)踐(含盤)

精通Spring-Java輕量級(jí)架構(gòu)開發(fā)實(shí)踐(含盤)

精通Spring-Java輕量級(jí)架構(gòu)開發(fā)實(shí)踐(含盤)

定 價(jià):¥68.00

作 者: 孟劼 編著
出版社: 人民郵電出版社
叢編項(xiàng): Java輕量級(jí)架構(gòu)開發(fā)實(shí)踐
標(biāo) 簽: Java 語言與開發(fā)工具 程序語言與軟件開發(fā) 計(jì)算機(jī)與互聯(lián)網(wǎng)

ISBN: 9787115150295 出版時(shí)間: 2006-10-01 包裝: 膠版紙
開本: 16開 頁數(shù): 593 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第1章 Spring基礎(chǔ)知識(shí) 1
1.1 Spring的來歷和目標(biāo) 1
1.2 Spring概覽 2
1.3 Spring的應(yīng)用場(chǎng)景 3
1.4 Spring和J2EE 5
1.4.1 經(jīng)典J2EE體系架構(gòu) 5
1.4.2 輕量級(jí)容器 6
1.4.3 Spring和J2EE的關(guān)系 6
1.5 小結(jié) 6
第2章 開始Spring之旅 7
2.1 獲取Spring 7
2.1.1 兩大開源網(wǎng)站簡介 7
2.1.2 獲取Spring發(fā)布包和源代碼 7
2.2 Spring的標(biāo)準(zhǔn)發(fā)布包和相關(guān)軟件包 9
2.2.1 Spring標(biāo)準(zhǔn)發(fā)布包 9
2.2.2 Spring相關(guān)軟件包 10
2.2.3 Spring自帶范例 12
2.3 部署Spring 13
2.4 Spring應(yīng)用初體驗(yàn) 14
2.4.1 Hello World遇到的問題 14
2.4.2 使用Spring對(duì)Hello World進(jìn)行重構(gòu) 20
2.4.3 實(shí)現(xiàn)依賴注射(DI) 22
2.4.4 重構(gòu)總結(jié) 24
2.4.5 簡單的Web應(yīng)用程序Hello World 24
2.5 小結(jié) 26
第3章 貫穿Spring應(yīng)用的核心理念 27
3.1 輕量級(jí)容器再探 27
3.1.1 容器和輕量級(jí)容器 27
3.1.2 需要容器的理由 28
3.1.3 輕量級(jí)容器的優(yōu)勢(shì) 28
3.2 控制反轉(zhuǎn)(IoC) 28
3.2.1 一個(gè)簡單的例子 29
3.2.2 引入問題 31
3.2.3 使用控制反轉(zhuǎn)(Inversion of Control)模式 32
3.2.4 總結(jié) 33
3.3 依賴注射 34
3.3.1 依賴注射的幾種形式 35
3.3.2 使用Spring 進(jìn)行設(shè)值方法和構(gòu)造函數(shù)注射 35
3.3.3 設(shè)值方法注射和構(gòu)造函數(shù)注射的使用場(chǎng)合 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的實(shí)現(xiàn)策略 43
3.4.6 認(rèn)識(shí)AspectJ 44
3.4.7 安裝AspectJ的運(yùn)行環(huán)境 44
3.4.8 用J2SE動(dòng)態(tài)代理實(shí)現(xiàn)AOP 47
3.4.9 用AspectJ實(shí)現(xiàn)AOP 51
3.4.10 深入理解AspectJ 54
3.5 單元測(cè)試(Unit Test) 58
3.5.1 單元測(cè)試和JUnit框架 59
3.5.2 JUnit框架的3個(gè)核心概念 60
3.5.3 準(zhǔn)備測(cè)試 60
3.5.4 添加測(cè)試代碼并進(jìn)行測(cè)試 62
3.5.5 取得更有意義的出錯(cuò)信息 63
3.5.6 捕捉錯(cuò)誤信息 64
3.5.7 單元測(cè)試技巧 65
3.6 測(cè)試驅(qū)動(dòng)開發(fā)(Test Driven Development) 67
3.6.1 傳統(tǒng)測(cè)試的問題 67
3.6.2 測(cè)試驅(qū)動(dòng)開發(fā)的應(yīng)對(duì)策略 68
3.6.3 一個(gè)簡單的示例 68
3.6.4 總結(jié)測(cè)試驅(qū)動(dòng)開發(fā)的優(yōu)勢(shì) 73
3.7 小結(jié) 74
第4章 模式:Spring前行的路標(biāo) 75
4.1 模式(Pattern)入門 75
4.1.1 什么是模式 75
4.1.2 不用模式產(chǎn)生的問題 76
4.1.3 通過實(shí)例理解模式本質(zhì) 79
4.1.4 小結(jié) 81
4.2 工廠模式(Design Pattern:Factory Method)的精髓 81
4.2.1 引入問題 82
4.2.2 解決方法 83
4.2.3 工廠模式和依賴倒置的關(guān)系 85
4.3 單例模式(Design Pattern:Singleton) 88
4.3.1 單例模式的實(shí)現(xiàn) 88
4.3.2 單例注冊(cè)表 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 第一個(gè)代理模式的例子 100
4.5.2 虛擬代理(Virtual Proxy) 103
4.6 數(shù)據(jù)訪問對(duì)象模式(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 一個(gè)Model 2框架示例 115
4.8 框架與模式的關(guān)系 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和數(shù)據(jù)訪問對(duì)象模式 129
4.14 Spring和MVC模式 131
第5章 Spring核心Bean工廠裝配指南 133
5.1 核心Bean工廠 133
5.1.1 初識(shí)Bean工廠 133
5.1.2 擁有一份Bean的基礎(chǔ)定義 135
5.1.3 使用構(gòu)造函數(shù)創(chuàng)建Bean 136
5.1.4 使用靜態(tài)工廠方法創(chuàng)建Bean 136
5.1.5 使用實(shí)例工廠方法創(chuàng)建Bean 137
5.1.6 Bean的標(biāo)識(shí)符 139
5.1.7 是否使用Singleton 139
5.2 裝配各種應(yīng)用協(xié)作對(duì)象:Bean 141
5.2.1 設(shè)置Bean的屬性和協(xié)作者 141
5.2.2 Bean的依賴決議 146
5.2.3 構(gòu)造子參數(shù)決議 147
5.2.4 自動(dòng)裝配(Autowiring) 150
5.2.5 依賴檢查 152
5.3 Bean屬性和構(gòu)造函數(shù)參數(shù)的細(xì)節(jié) 153
5.3.1 使用value元素設(shè)定屬性 153
5.3.2 使用null元素設(shè)定空值 154
5.3.3 使用collection(集合)元素定義集合 154
5.3.4 通過嵌套Bean元素來定義內(nèi)部Bean(innerBean) 157
5.3.5 使用idref元素預(yù)檢錯(cuò)誤 158
5.3.6 使用ref元素設(shè)定依賴 158
5.3.7 value與ref的簡寫式 161
5.3.8 使用depends-on屬性強(qiáng)制依賴 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的擴(kuò)展功能 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應(yīng)用上下文 192
6.6 更多的輕松裝配方式 193
6.6.1 從屬性表達(dá)式來設(shè)置Bean的屬性或者構(gòu)造函數(shù)參數(shù) 193
6.6.2 從一個(gè)字段值來設(shè)置Bean的屬性或者構(gòu)造函數(shù)參數(shù) 195
6.6.3 調(diào)用另外一個(gè)方法并且使用其返回值(也可以沒有返回值) 195
6.6.4 引入其他Bean的定義文件 196
6.7 Bean包裝器(Wrapper)和屬性編輯器(PropertyEditor) 197
6.7.1 BeanWrapper簡介 197
6.7.2 JavaBean屬性的設(shè)置、獲取及嵌套 197
6.7.3 屬性編輯器 200
6.8 Spring驗(yàn)證機(jī)制初探 202
6.9 小結(jié) 203
第7章 Spring面向方面編程基礎(chǔ) 204
7.1 Spring AOP基礎(chǔ)概念 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 抽離關(guān)注點(diǎn) 208
7.2.3 劃分切入點(diǎn) 210
7.2.4 結(jié)合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切入點(diǎn)(Pointcut)和顧問(Advisor) 237
7.5.1 未使用切入點(diǎn)存在的問題 237
7.5.2 引入切入點(diǎn)和顧問 237
7.5.3 初識(shí)切入點(diǎn)背后的ClassFilter和MethodMatcher接口 239
7.5.4 透過MethodMatcher接口了解靜態(tài)和動(dòng)態(tài)切入點(diǎn) 239
7.5.5 靜態(tài)切入點(diǎn)和顧問DefaultPointcutAdvisor 242
7.5.6 靜態(tài)切入點(diǎn)和顧問StaticMethodMatcherPointcut 242
7.5.7 靜態(tài)切入點(diǎn)和顧問NameMatchMethodPointcut 245
7.5.8 使用正則表達(dá)式切入點(diǎn) 246
7.5.9 使用便利的切入點(diǎn)顧問(PointcutAdvisor) 247
7.5.10 使用動(dòng)態(tài)切入點(diǎn)(Dynamic Pointcut)和自定義顧問(Advisor) 249
第8章 面向方面編程(AOP)高級(jí)應(yīng)用 254
8.1 Spring AOP引介(Introduction)概述 254
8.2 使用混入(Mixin)實(shí)現(xiàn)引介(Introduction)建議 256
8.2.1 引入目標(biāo)對(duì)象和待織入功能接口 256
8.2.2 給予關(guān)鍵引介建議 257
8.2.3 聲明配置引介建議并測(cè)試 259
8.3 使用自動(dòng)代理(Auto Proxy) 262
8.4 Spring AOP企業(yè)級(jí)服務(wù) 264
8.4.1 Spring AOP企業(yè)級(jí)服務(wù)菜單 264
8.4.2 使用TransactionProxyFactoryBean提供聲明式事務(wù)管理 265
8.4.3 更為強(qiáng)大靈活的事務(wù)管理聲明方式 270
8.4.4 使用EJB代理 272
8.5 小結(jié) 272
第9章 J2EE的持久化數(shù)據(jù)訪問方案 273
9.1 傳統(tǒng)高效的JDBC方案 273
9.2 基于SQL語句映射的Ibatis框架 275
9.2.1 IBatis簡介 275
9.2.2 IBatis和高級(jí)ORM工具的比較 275
9.2.3 IBatis的應(yīng)用場(chǎng)合 276
9.2.4 IBatis示例快照 276
9.3 流行的ORM利器Hibernate 278
9.3.1 Hibernate簡介 278
9.3.2 Hibernate示例快照 279
9.4 再探數(shù)據(jù)訪問對(duì)象(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方案的應(yīng)用場(chǎng)合 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 元素配置事務(wù)策略 289
9.7.6 使用 datasource 元素配置數(shù)據(jù)源 290
9.7.7 使用 sqlMap 元素引入SQL Map映射文件 292
9.7.8 先行準(zhǔn)備主控測(cè)試和子測(cè)試套件 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 內(nèi)聯(lián)參數(shù)(Inline Parameter)簡介 298
9.8.6 使用parameterClass指定參數(shù)類 300
9.8.7 基本類型輸入?yún)?shù) 300
9.8.8 使用resultClass指定結(jié)果類 301
9.8.9 使用resultMap配置映射 302
9.8.10 IBatis事務(wù)處理 303
9.8.11 小結(jié) 304
9.9 寵物店背后的IBatis:XML映射文件高級(jí)特性 305
9.9.1 IBatis自動(dòng)生成的主鍵 305
9.9.2 簡單的動(dòng)態(tài)SQL元素 306
9.9.3 緩存Mapped Statement結(jié)果集 307
9.9.4 緩存類型 308
9.9.5 動(dòng)態(tài)Mapped Statement 310
9.9.6 運(yùn)行自動(dòng)測(cè)試 312
9.10 用Hibernate創(chuàng)建Spring寵物店的簡易進(jìn)貨系統(tǒng) 313
9.10.1 Spring寵物店持久層滲入 313
9.10.2 實(shí)現(xiàn)Hibernate進(jìn)貨DAO:實(shí)體持久對(duì)象 314
9.10.3 實(shí)現(xiàn)Hibernate進(jìn)貨DAO:映射和基本配置 315
9.10.4 實(shí)現(xiàn)Hibernate進(jìn)貨DAO:工具類和DAO實(shí)現(xiàn) 317
9.10.5 實(shí)現(xiàn)Hibernate進(jìn)貨DAO:測(cè)試驗(yàn)收 318
9.11 小結(jié) 320
第10章 Spring和J2EE持久化數(shù)據(jù)訪問 321
10.1 Spring對(duì)數(shù)據(jù)訪問對(duì)象(DAO)的支持 321
10.1.1 通用的數(shù)據(jù)訪問異?!?21
10.1.2 通用的DAO抽象支持類 321
10.1.3 向業(yè)務(wù)對(duì)象注射DAO 322
10.2 Spring對(duì)JDBC的支持 324
10.2.1 JdbcTemplate和數(shù)據(jù)源概述 324
10.2.2 使用JdbcTemplate和數(shù)據(jù)源 325
10.2.3 對(duì)象化RDBMS操作概述 327
10.2.4 對(duì)象化RDBMS操作:使用MappingSqlQuery 328
10.2.5 對(duì)象化RDBMS操作:使用SqlUpdate 331
10.3 Spring對(duì)IBatis的支持 332
10.3.1 標(biāo)準(zhǔn)JavaBean實(shí)體和映射 332
10.3.2 銜接IBatis配置和DAO實(shí)現(xiàn) 333
10.3.3 關(guān)鍵整合點(diǎn):Spring配置文件 334
10.3.4 添加聲明式事務(wù)管理 335
10.4 Spring對(duì)Hibernate的支持 336
10.4.1 在Spring上下文中配置SessionFactory 336
10.4.2 重建Hibernate進(jìn)貨DAO偽實(shí)現(xiàn) 338
10.4.3 TDD實(shí)現(xiàn)規(guī)劃測(cè)試案例 339
10.4.4 TDD實(shí)現(xiàn)完善基礎(chǔ)設(shè)施 341
10.4.5 添加HibernateTemplate和HibernateCallback實(shí)現(xiàn) 341
10.4.6 聲明式管理Hibernate本地事務(wù) 343
10.4.7 聲明式管理Hibernate分布式事務(wù) 345
第11章 傳統(tǒng)的企業(yè)JavaBean(EJB) 347
11.1 什么是EJB 347
11.2 什么是會(huì)話Bean(Session Bean) 348
11.2.1 無狀態(tài)會(huì)話Bean 349
11.2.2 有狀態(tài)會(huì)話Bean 349
11.2.3 何時(shí)使用會(huì)話Bean 349
11.3 實(shí)體Bean(Entity Bean) 350
11.3.1 EntityBean和Session Bean的異同 350
11.3.2 容器管理的持久性(CMP) 351
11.3.3 何時(shí)需要EntityBean 352
11.4 消息驅(qū)動(dòng)Bean 352
11.4.1 Message-DrivenBean和Session以及Entity Bean的異同 353
11.4.2 何時(shí)使用Message-DrivenBean 353
11.5 定義客戶端訪問接口 353
11.5.1 遠(yuǎn)程客戶端(Remote Clients) 354
11.5.2 本地客戶端(Local Clients) 354
11.5.3 Local接口和CMR(Container-Managed RelationShips) 355
11.5.4 遠(yuǎn)程還是本地訪問的選用 355
11.5.5 方法參數(shù)和訪問方式 355
11.6 企業(yè)Bean的內(nèi)容和命名約定 356
11.7 EJB和JBoss開發(fā)實(shí)踐 357
11.7.1 JBoss的安裝與啟動(dòng) 357
11.7.2 在JBoss下開發(fā)部署第一個(gè)HelloWorld EJB 360
11.7.3 無狀態(tài)會(huì)話Bean(Stateless Session Bean):開發(fā)和部署 364
11.7.4 無狀態(tài)會(huì)話Bean:效果和生命周期 369
11.7.5 有狀態(tài)會(huì)話Bean(Stateful Session Bean):開發(fā)和部署 370
11.7.6 有狀態(tài)會(huì)話Bean(Stateful Session Bean):效果和生命周期 376
11.8 小結(jié) 377
第12章 Spring和EJB 378
12.1 概述 378
12.2 Spring對(duì)EJB提供的支持 378
12.3 Spring的EJB抽象訪問層 379
12.3.1 深入BeanFactoryLocator接口 380
12.3.2 BeanFactoryLocator背后資源消耗的考量 382
12.4 使用Spring構(gòu)建本地?zé)o狀態(tài)會(huì)話Bean 383
12.4.1 提供業(yè)務(wù)契約:公共服務(wù)接口 384
12.4.2 提供本地和本地Home接口 384
12.4.3 提供可測(cè)試的業(yè)務(wù)委托:POJO實(shí)現(xiàn)類 385
12.4.4 提供Spring介入的企業(yè)Bean實(shí)現(xiàn)主類 385
12.4.5 給出EJB組件部署描述符 386
12.4.6 給出Spring和特定EJB容器配置,發(fā)布EJB 387
12.4.7 創(chuàng)建Web客戶端,配置Web應(yīng)用 388
12.4.8 解析Spring配置:SLSB代理工廠Bean 389
12.4.9 創(chuàng)建Servlet測(cè)試SLSB,發(fā)布Web客戶包 390
12.5 使用Spring構(gòu)建本地有狀態(tài)會(huì)話Bean 391
12.5.1 SFSB解決方案 391
12.5.2 提供業(yè)務(wù)契約:公共服務(wù)接口 392
12.5.3 提供本地和本地Home接口 392
12.5.4 提供可測(cè)試的業(yè)務(wù)委托:POJO實(shí)現(xiàn)類 393
12.5.5 提供Spring介入的企業(yè)Bean實(shí)現(xiàn)主類 394
12.5.6 提供定制的EJB異?!?96
12.5.7 給出部署表述符和Spring配置文件 396
12.5.8 創(chuàng)建Web客戶端并配置Web應(yīng)用 397
12.5.9 解析Spring配置:使用JndiObjectFactoryBean自動(dòng)查找JNDI 398
12.5.10 創(chuàng)建Servlet測(cè)試SFSB并發(fā)布Web客戶包 399
12.6 Spring眼中的EJB 400
12.6.1 EJB的缺點(diǎn) 400
12.6.2 Spring提倡的J2EE輕量架構(gòu)理念:IoC/DI、AOP、裝配和粘合 400
第13章 Spring和郵件服務(wù) 402
13.1 Spring郵件抽象層 402
13.2 使用Spring郵件抽象發(fā)送簡單文本郵件 404
13.2.1 定義抽象父類模板 404
13.2.2 實(shí)現(xiàn)郵件發(fā)送子類 405
13.2.3 更靈活的實(shí)現(xiàn) 406
13.2.4 特定功能的子類實(shí)現(xiàn) 409
13.3 發(fā)送HTML MIME郵件的設(shè)計(jì)實(shí)現(xiàn) 409
13.3.1 分析設(shè)計(jì)和初步實(shí)現(xiàn) 410
13.3.2 定義MailMessage實(shí)體 411
13.3.3 功能實(shí)現(xiàn)和配置 413
13.4 發(fā)送HTML/純文本MIME郵件,使用接口回調(diào) 415
13.4.1 回調(diào)的契機(jī) 415
13.4.2 功能實(shí)現(xiàn)和配置 415
13.5 小結(jié) 418
第14章 Spring和排程(scheduling)技術(shù) 419
14.1 排程(Scheduling)原理 419
14.2 什么是Timer 419
14.2.1 執(zhí)行一次 420
14.2.2 周期執(zhí)行 421
14.3 Spring對(duì)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對(duì)Quartz的支持 433
14.5.1 使用Spring支持Quartz SimpleTrigger排程 433
14.5.2 使用Spring支持Quartz CronTrigger排程 435
14.6 Quartz的持久化 438
14.6.1 Quartz持久機(jī)制的核心概念 438
14.6.2 使用Spring做一個(gè)JDBC有狀態(tài)Quartz Job 438
14.6.3 JDBC持久的有狀態(tài)和無狀態(tài)job示例運(yùn)行效果解析 441
14.7 小結(jié) 442
第15章 J2EE中流行的Web MVC框架 443
15.1 請(qǐng)求驅(qū)動(dòng)的Web MVC框架簡介 443
15.2 請(qǐng)求驅(qū)動(dòng)的Web MVC框架在Struts中的實(shí)現(xiàn) 444
15.2.1 Struts的簡介和基本W(wǎng)eb配置 444
15.2.2 Struts的Action和ActionForm 445
15.2.3 Struts的核心原理 447
15.3 請(qǐng)求驅(qū)動(dòng)的Web MVC框架在WebWork 2中的實(shí)現(xiàn) 449
15.3.1 WebWork 2簡介 449
15.3.2 WebWork 2實(shí)現(xiàn)Web登錄的頁面流程 450
15.3.3 WebWork 2開發(fā)實(shí)踐:配置Web應(yīng)用 451
15.3.4 WebWork 2開發(fā)實(shí)踐:配置驗(yàn)證、實(shí)現(xiàn)Action并綁定驗(yàn)證 452
15.3.5 WebWork 2開發(fā)實(shí)踐:實(shí)現(xiàn)視圖 454
15.4 事件驅(qū)動(dòng)的Web MVC框架 455
15.4.1 簡介 455
15.4.2 Tapestry概述 455
15.4.3 搭建Tapestry示例運(yùn)行環(huán)境 456
15.4.4 Tapestry開發(fā)實(shí)踐:配置Web應(yīng)用 457
15.4.5 Tapestry開發(fā)實(shí)踐:創(chuàng)建HTML視圖模板 458
15.4.6 Tapestry開發(fā)實(shí)踐:創(chuàng)建HTML組件規(guī)范文件 460
15.4.7 Tapestry開發(fā)實(shí)踐:創(chuàng)建頁面類 461
15.4.8 無需組件規(guī)范的HTML視圖模板 462
15.5 小結(jié) 464
第16章 請(qǐng)求驅(qū)動(dòng)的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 普通表單控制器:視圖流轉(zhuǎn) 473
16.6.2 普通表單控制器:基本配置 475
16.6.3 普通表單控制器:控制器和處理流程 476
16.6.4 普通表單控制器:表單、領(lǐng)域模型和視圖 479
16.6.5 普通表單控制器:驗(yàn)證器和錯(cuò)誤采集 482
16.7 向?qū)奖韱慰刂破鳌?82
16.7.1 向?qū)奖韱慰刂破鳎阂晥D流轉(zhuǎn) 482
16.7.2 向?qū)奖韱慰刂破鳎夯九渲谩?85
16.7.3 向?qū)奖韱慰刂破鳎嚎刂破?、?yàn)證器和處理流程 486
16.7.4 向?qū)奖韱慰刂破鳎罕韱?、領(lǐng)域模型 489
16.8 模型、視圖和視圖解析(View Resovling) 490
16.8.1 返回視圖名稱 490
16.8.2 保存模型屬性 490
16.8.3 視圖解析器和視圖抽象 491
16.9 小結(jié) 492
第17章 Spring和視圖技術(shù)及Web框架的集成 493
17.1 Spring集成JSP和JSTL 493
17.1.1 JSP和JSTL簡介 493
17.1.2 視圖解析器 493
17.1.3 Spring的專有標(biāo)簽 497
17.2 Spring集成XSLT 499
17.2.1 XSLT簡介 499
17.2.2 示例開發(fā):需求和部署配置 499
17.2.3 示例開發(fā):配置Web應(yīng)用 500
17.2.4 示例開發(fā):把模型數(shù)據(jù)轉(zhuǎn)換成XML文檔 500
17.2.5 示例開發(fā):使用XSLT進(jìn)行文檔轉(zhuǎn)換 503
17.3 Spring集成PDF/Excel 504
17.3.1 簡介 504
17.3.2 示例開發(fā):部署、配置Web應(yīng)用和模型數(shù)據(jù)采集 504
17.3.3 示例開發(fā):把模型數(shù)據(jù)轉(zhuǎn)換成PDF和Excel視圖 505
17.4 Spring集成Struts 508
17.4.1 集成概述和手法 508
17.4.2 Spring應(yīng)用上下文裝載的兩種方式 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 分層重構(gòu):引入表現(xiàn)層的業(yè)務(wù)注射,轉(zhuǎn)移業(yè)務(wù)邏輯 523
17.6.4 分層重構(gòu):引入業(yè)務(wù)層,實(shí)現(xiàn)業(yè)務(wù)邏輯 524
17.6.5 分層重構(gòu):引入工具層,向Tapestry應(yīng)用注射Spring上下文 524
17.6.6 集成配置:Web應(yīng)用配置、修改組件規(guī)范文件 525
17.6.7 集成配置:通過HiveMind和工具類,銜接Spring 526
17.7 小結(jié) 528
第18章 Spring和單元測(cè)試 529
18.1 模仿對(duì)象 529
18.2 Spring Mock簡介 529
18.2.1 Spring Mock Web簡介 530
18.2.2 擴(kuò)展JUnit框架的測(cè)試基類 530
18.3 Spring Mock快速指南 531
18.3.1 Web組件的單元測(cè)試:搭建測(cè)試環(huán)境 531
18.3.2 Web組件的單元測(cè)試:視圖轉(zhuǎn)發(fā) 533
18.3.3 Web組件的單元測(cè)試:會(huì)話狀態(tài) 533
18.3.4 Web組件的單元測(cè)試:簡單邏輯 534
18.3.5 事務(wù)性單元測(cè)試:使用Spring Mock事務(wù)基類搭建測(cè)試環(huán)境 535
18.4 EasyMock快速指南 538
18.4.1 EasyMock簡介 538
18.4.2 組件單元測(cè)試:搭建測(cè)試環(huán)境 539
18.4.3 組件單元測(cè)試:模擬業(yè)務(wù)接口和領(lǐng)域?qū)ο蟮慕换ァ?40
18.4.4 組件單元測(cè)試:模擬具體類和DAO的交互 541
18.5 結(jié)合使用Spring Mock和EasyMock 541
18.5.1 Web組件單元測(cè)試:模擬控制器和業(yè)務(wù)接口、領(lǐng)域?qū)ο蟮慕换ァ?42
18.5.2 Web組件單元測(cè)試:重定向測(cè)試 545
第19章 Spring和JMX技術(shù) 547
19.1 JMX概述 547
19.2 JMX的體系分層架構(gòu) 547
19.2.1 核心組件 548
19.2.2 設(shè)備層(Instrumentation Level) 549
19.2.3 代理層(Agent Level) 550
19.2.4 分布服務(wù)層(Distributed Service Level) 552
19.2.5 附加管理協(xié)議API 552
19.3 JMX編程實(shí)踐 553
19.3.1 標(biāo)準(zhǔn)MBean編程:MBean接口和實(shí)現(xiàn)類 553
19.3.2 標(biāo)準(zhǔn)MBean編程:JMX Agent 554
19.3.3 標(biāo)準(zhǔn)MBean編程:手工和可視化注冊(cè)MBean 555
19.3.4 通知模型編程 557
19.3.5 動(dòng)態(tài)MBean和輔助元數(shù)據(jù)類編程 561
19.3.6 JMX連接器(Connectors)編程:基本流程 562
19.3.7 JMX Connectors編程:準(zhǔn)備MBean套件和監(jiān)聽器 563
19.3.8 JMX Connectors編程:創(chuàng)建服務(wù)器 565
19.3.9 JMX Connectors編程:創(chuàng)建客戶端 567
19.4 Spring對(duì)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:自動(dòng)偵測(cè)并且注冊(cè)MBean 572
19.4.5 視Spring Bean為JMX MBean:ObjectName命名策略 574
19.4.6 Spring的JSR-160 Connector支持:服務(wù)器端配置和代碼 576
19.4.7 Spring的JSR-160 Connector支持:客戶端配置和代碼 578
19.4.8 Sping集成JMX技術(shù)展望 579
第20章 從Spring寵物店看企業(yè)應(yīng)用架構(gòu)模式 580
20.1 企業(yè)應(yīng)用架構(gòu)模式(POEAA)簡介 580
20.1.1 什么是企業(yè)應(yīng)用架構(gòu)模式 580
20.1.2 架構(gòu)和分層 580
20.1.3 企業(yè)應(yīng)用 580
20.2 寵物店和分層 581
20.3 寵物店和領(lǐng)域邏輯 582
20.3.1 如何組織領(lǐng)域邏輯 582
20.3.2 事務(wù)腳本 583
20.3.3 領(lǐng)域模型的基本概念 585
20.3.4 領(lǐng)域模型的持久 588
20.3.5 服務(wù)層 589
20.4 寵物店和數(shù)據(jù)源架構(gòu)模式 591
20.5 寵物店和Web表現(xiàn)模式 592
20.5.1 模板視圖 592
20.5.2 轉(zhuǎn)換視圖 592
20.5.3 兩步視圖 592

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)