注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計其他編程語言/工具SprIng框架高級編程

SprIng框架高級編程

SprIng框架高級編程

定 價:¥59.00

作 者: (美)約翰遜;蔣培譯
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111186380 出版時間: 2006-04-01 包裝: 平裝
開本: 16開 頁數: 471 字數:  

內容簡介

  Spring框架是主要的開源應用程序開發(fā)框架,它使得Java/J2EE開發(fā)更容易、效率更高。本書不僅向讀者展示了Spring能做什么?而且揭示了Spring完成這些功能的原理,解釋其功能和動機,以幫助讀者使用該框架的所有部分來開發(fā)成功的應用程序。本書涵蓋Spring的所有特性,并且演示了如何將其構成一個連貫的整體,幫助讀者理解Spring方法的基本原理、何時使用Sping以及如何效仿最佳實踐。所有這些都以完整的樣本應用程序來舉例說明。讀完本書,讀者將能夠有效地在各種應用中(從簡單的web應用程序到復雜的企業(yè)級應用程序)使用Spring。本書旨在指導讀者何使用Spring框架來實現各種有效應用程序的開發(fā)(從簡單的Web應用到復雜的企業(yè)級應用)。通過一個完整的樣本應用程序貫穿全書,舉例說明Spring如何提供一個清晰的、分層的體系結構的基礎;以及如何適當地使用Spring來實現好的OO設計和體系結構設計,以及如何應用最佳實踐。本書面向欲深人學習Spring框架的Java/J2EE體系結構設計人員和開發(fā)人員,使他們能夠把spring框架有效地用于從簡單的Web應用到復雜的企業(yè)級應用;也非常適合Spring框架新手作為常備參考書。

作者簡介

  Rod Johnsn是Spring框架的創(chuàng)始人,并且是Java和J2EE領域的著名專家。Rod獲悉民大學博士學位。他具有C/C++開發(fā)背景,從Java和J2EE發(fā)布以來就作為開發(fā)者、休系結構設計者和顧問涉足了Java和J2EE領域。他撰寫了兩本最普及并最有影響力的J2EE書籍:《Expert One-on-one J2EE Design and Deuelo Pment》(Wrox,2002),和《J2EE without EJB》(Wrox,2004.與Juergen Hoelle合著)。這兩本書在“敏捷J2EE的興起和心變過度復雜的傳統(tǒng)J2EE體系結構方面都起了得要作用。Rod是Spring框架的共同領導之一。他的發(fā)言很受歡迎,并且經常出現在美國、歐洲和亞洲舉行的Java重要活動中。了是一些JSR的專家組的成員,為Java社區(qū)發(fā)展計劃(Java Community Process,JCP)EBTL。他還具有在銀行和金融、保險、軟件、媒體等領域從事顧問的廣泛經驗。他是Interface21(www.inter-face21.com)的CEO,Interface21是一家致力于提供專家級J2EE和Spring框架服務的咨詢公司。他各極參與客戶項目和Spring開發(fā)。

圖書目錄

Professional Java Development with the Spring Framework    I
關于作者    II
致謝    X
目錄    XI
引言    錯誤!未定義書簽。
本書是寫給誰的    III
本書的目標    III
本書討論的范圍    III
預備知識    IV
推薦的閱讀    IV
使用本書需要什么    V
樣本應用程序    V
約定    VI
源代碼    VI
勘誤    VI
p2p.wrox.com    VII
第1章    Spring框架概述    1
1.1    為什么要Spring?    1
1.1.1    J2EE傳統(tǒng)方式的問題    1
1.1.2    輕量級框架    3
1.1.3    進入Spring    4
1.2    Spring的價值    5
1.3    上下文中的Spring    6
1.3.1    技術    7
1.3.2    面向方面的編程    9
1.3.3    一致性抽象    12
1.3.4    與其他框架的關系    16
1.4    使用Spring構造應用程序    18
1.4.1    關系圖    18
1.4.2    持久性和集成    20
1.4.3    業(yè)務服務對象    23
1.4.4    表示    24
1.5    前景    25
1.5.1    發(fā)布日程    25
1.5.2    Java和J2EE的進展    26
1.5.3    技術趨勢    27
1.5.4    標準與源碼公開    27
1.6    Spring項目和社區(qū)    28
1.6.1    歷史    28
1.6.2    模塊摘要    29
1.6.3    支持的環(huán)境    32
1.7    小結    32
第2章    Bean工廠與應用程序上下文    34
2.1    控制反轉和依賴注入    34
2.1.1    不同形式的依賴注入    36
2.1.2    在設置器注入和構造函數注入之間決定    37
2.2    容器    38
2.2.1    Bean工廠    39
2.2.2    應用程序上下文    40
2.2.3    啟動容器    41
2.2.4    使用來自工廠的Bean    42
2.2.5    XML Bean配置    43
2.2.6    基本的Bean定義    43
2.2.7    管理Bean生命周期    52
2.2.8    對服務和資源訪問的抽象    54
2.2.9    重用Bean定義    57
2.2.10    使用后置處理器處理定制的Bean和容器    59
2.3    小結    63
第3章    高級容器概念    64
3.1    低層資源的抽象    64
3.1.1    應用程序上下文作為ResourceLoader    64
3.1.2    應用程序上下文作為消息源    66
3.2    應用程序事件    68
3.3    管理容器    69
3.3.1    ApplicationContext構造函數中的資源位置路徑    69
3.3.2    應用程序上下文的聲明性用法    71
3.3.3    將容器定義劃分到多個文件    72
3.3.4    處理組件的策略    73
3.3.5    用于訪問容器的單態(tài)    75
3.4    一些方便的工廠Bean    75
3.4.1    PropertyPathFactoryBean    76
3.4.2    FieldRetrievingFactoryBean    76
3.4.3    MethodInvokingFactoryBean    77
3.5    Spring提供的屬性編輯器    77
3.6    測試策略    78
3.6.1    單元測試    78
3.6.2    使用Spring容器的測試    80
3.7    XML的替代品    81
3.7.1    來自Properties文件的定義    82
3.7.2    編程化的Bean定義    82
3.7.3    其他格式    83
3.7.4    參考文獻    83
3.8    小結    83
第4章    Spring與AOP    84
4.1    目標    84
4.2    假設    85
4.3    例子    85
4.4    Spring的AOP框架    86
4.4.1    攔截器鏈    87
4.4.2    贊成與反對    87
4.4.3    通知    88
4.4.4    切點    92
4.4.5    通知器(Advisor)    96
4.4.6    與Spring IoC容器的集成    97
4.4.7    在運行時間檢驗并處理代理狀態(tài)    107
4.4.8    編程化的代理創(chuàng)建    107
4.5    使用Spring的AOP框架的高級特性    108
4.5.1    TargetSources    108
4.5.2    及早終止攔截器鏈    112
4.5.3    使用介紹    112
4.5.4    暴露當前的代理    114
4.5.5    暴露當前的MethodInvocation    115
4.5.6    理解代理類型    115
4.5.7    調試與測試    117
4.5.8    其他    118
4.6    與其他AOP框架集成    120
4.6.1    目標    120
4.6.2    AspectJ集成    121
4.6.3    AspectWerkz    125
4.7    參考文獻    125
4.8    小結    126
第5章    DAO支持與JDBC框架    127
5.1    數據訪問對象模式    127
5.2    Spring的JDBC框架概述    128
5.2.1    起因:直接使用JDBC的問題    128
5.2.2    Spring可以如何幫助    130
5.2.3    簡單的例子    130
5.3    建立樣本應用程序的數據訪問層    131
5.3.1    樣本應用程序的數據模型    131
5.3.2    DataSource    132
5.3.3    異常轉譯    133
5.4    使用JdbcTemplate的操作    134
5.4.1    回調方法的使用    134
5.4.2    JdbcTemplate的方便方法    135
5.4.3    使用JdbcTemplate的基本查詢    136
5.4.4    使用JdbcTemplate的基本更新    137
5.4.5    JdbcTemplate的高級用法    137
5.4.6    對RowSet的支持    138
5.5    使用RDBMS操作類    139
5.5.1    SqlQuery和MappingSqlQuery    139
5.5.2    使用SqlUpdate插入和更新    140
5.5.3    使用UpdatableSqlQuery更新ResultSet    141
5.5.4    生成主鍵    141
5.5.5    檢索數據庫生成的鍵    142
5.5.6    調用存儲過程    143
5.6    高級概念    144
5.6.1    在應用程序服務器中的運行Spring JDBC    144
5.6.2    使用定制的異常轉譯    145
5.6.3    讀寫LOB數據    147
5.6.4    批量更新    149
5.6.5    存儲過程的高級用法    150
5.7    其他的考慮事項    152
5.7.1    性能    152
5.7.2    何時使用JDBC和O/R映射    152
5.7.3    JDBC版本和J2EE版本    153
5.8    小結    153
第6章    事務和資源管理    154
6.1    背景    154
6.1.1    什么是事務?    154
6.1.2    ACID屬性    154
6.1.3    并發(fā)控制    156
6.2    事務與J2EE    156
6.2.1    局部事務    157
6.2.2    全局/分布式事務    157
6.2.3    事務傳播    157
6.2.4    事務劃分    157
6.3    Spring事務支持的例子    158
6.4    Spring的事務抽象介紹    159
6.4.1    事務控制選擇的概述    159
6.4.2    事務劃分策略    162
6.4.3    事務管理策略    167
6.5    DataSource聲明    171
6.5.1    本地非緩沖    171
6.5.2    本地緩沖    172
6.5.3    JNDI    172
6.5.4    在本地DataSource和JNDI DataSource之間選擇    173
6.6    小結    173
第7章    對象/關系映射    175
7.1    背景知識    175
7.1.1    基本的O/R映射    176
7.1.2    對象查詢語言    176
7.1.3    透明持久性    177
7.1.4    何時選擇O/R映射    177
7.2    Spring中的O/R映射支持    178
7.2.1    數據訪問對象    178
7.2.2    事務管理    179
7.3    iBATIS SQL Maps    179
7.3.1    映射文件    180
7.3.2    DAO實現    181
7.3.3    在Spring上下文中設置    182
7.3.4    事務管理    182
7.3.5    iBATIS概要    183
7.4    Hibernate    184
7.4.1    映射文件    184
7.4.2    DAO實現    185
7.4.3    Spring上下文中的設置    186
7.4.4    設置為JCA連接器    187
7.4.5    事務管理    188
7.4.6    Open Session in View    192
7.4.7    BLOB/CLOB處理    194
7.4.8    Hibernate:小結    195
7.5    JDO    196
7.5.1    持久性對象的生命周期    197
7.5.2    DAO實現    197
7.5.3    在Spring上下文中設置    199
7.5.4    事務管理    200
7.5.5    PersistenceManager的生命周期    200
7.5.6    Open PersistenceManager in View    201
7.5.7    JDO方言    203
7.5.8    JDO:小結    203
7.6    其他O/R映射工具    205
7.6.1    Apache OJB    205
7.6.2    TopLink    206
7.6.3    Cayenne    207
7.6.4    JSR-220持久性    207
7.7    小結    207
第8章    輕量級遠程處理    209
8.1    概念和范圍    209
8.2    公共的配置風格    211
8.3    Hessian和Burlap    212
8.3.1    訪問一個服務    213
8.3.2    導出一個服務    214
8.4    HTTP調用器    215
8.4.1    訪問一個服務    216
8.4.2    導出一個服務    216
8.4.3    定制化選項    217
8.5    RMI    218
8.5.1    訪問一個服務    219
8.5.2    Stub查詢策略    220
8.5.3    導出一個服務    221
8.5.4    定制化選項    222
8.5.5    RMI-IIOP    222
8.6    通過JAX-RPC的Web服務    223
8.6.1    訪問一個服務    224
8.6.2    導出一個服務    225
8.6.3    定制的類型映射    226
8.7    小結    227
第9章    支持性服務    229
9.1    JMS    229
9.1.1    引言    229
9.1.2    Spring的JMS支持的起因    230
9.1.3    通過模板的JMS訪問    230
9.1.4    異常處理    232
9.1.5    ConnectionFactory管理    232
9.1.6    消息轉換器    233
9.1.7    目的管理    233
9.1.8    事務管理    234
9.1.9    JmsGatewaySupport    235
9.1.10    前景    236
9.2    使用Spring的調度    236
9.2.1    Timer與Quartz    236
9.2.2    Timer    237
9.2.3    Quartz    238
9.3    使用Spring發(fā)送電子郵件    241
9.3.1    入門指南    242
9.3.2    重用現有的郵件會話    242
9.3.3    使用COS的郵寄發(fā)送    242
9.3.4    通用的郵件管理器    243
9.4    腳本    245
9.4.1    一致性模型    245
9.4.2    其他腳本語言    248
9.5    小結    248
第10章    Spring的Acegi Security系統(tǒng)    249
10.1    企業(yè)應用程序的安全選擇    249
10.1.1    典型的需求    249
10.1.2    Acegi Security簡介    250
10.1.3    Java身份驗證和授權服務    252
10.1.4    Servlet規(guī)范    254
10.2    Acegi Security的基礎    255
10.2.1    身份驗證    255
10.2.2    存儲身份驗證對象    257
10.2.3    授權    258
10.2.4    域對象實例的安全    259
10.3    范例代碼    262
10.3.1    范例介紹    262
10.3.2    安全不知道的實現    262
10.3.3    安全方法    263
10.3.4    身份驗證    263
10.3.5    授權    264
10.4    小結    265
第11章    Spring與EJB    267
11.1    對EJB的需要做出決斷    267
11.2    訪問EJB    268
11.2.1    樣板方法    268
11.2.2    Spring的方法    269
11.3    用Spring實現EJB    273
11.3.1    無狀態(tài)會話Bean    273
11.3.2    有狀態(tài)會話Bean    275
11.3.3    消息驅動的Bean    276
11.3.4    XDoclet    276
11.4    單態(tài)容器訪問,好還是壞?    277
11.4.1    ContextSingletonBeanFactoryLocator和SingletonBeanFactoryLocator    278
11.4.2    共享的上下文作為Web應用程序的應用程序上下文的雙親    280
11.4.3    使用來自EJB的共享的上下文    280
11.5    測試關注點    281
11.5.1    在POJO委托中實現業(yè)務功能    281
11.5.2    使用模仿的EJB容器    282
11.5.3    應用程序服務器內部的集成測試    282
11.6    小結    283
第12章    Web MVC框架    284
12.1    簡單的例子    284
12.2    一般的體系結構    285
12.2.1    Web MVC概念    285
12.2.2    使用分發(fā)器和控制器的通用Web MVC    286
12.2.3    好的Web MVC框架的需求    286
12.2.4    Spring的Web MVC的等價物    287
12.3    基礎設施組件    289
12.3.1    DispatcherServlet    289
12.3.2    WebApplicationContext    291
12.4    處理請求有關的工作流    293
12.5    Spring MVC Web應用程序的一般布局    294
12.6    HandlerMapping    295
12.6.1    BeanNameUrlHandlerMapping    296
12.6.2    SimpleUrlHandlerMapping    296
12.6.3    CommonsPathMapUrlHandlerMapping    297
12.6.4    多個HandlerMapping    298
12.7    HandlerExecutionChain和攔截器    298
12.7.1    WebContentInterceptor    299
12.7.2    UserRoleAuthorizationInterceptor    300
12.7.3    Spring MVC提供的其他處理器攔截器    300
12.8    處理器及其適配器    300
12.9    ModelAndView和ViewResolvers    301
12.9.1    UrlBasedViewResolver    301
12.9.2    BeanNameViewResolver和XmlViewResolver    302
12.9.3    ResourceBundleViewResolver    302
12.9.4    視圖解析器成鏈    303
12.10    地區(qū)值的改變和解析    304
12.11    HandlerExceptionResolvers    305
12.12    控制器    307
12.12.1    WebContentGenerator    307
12.12.2    AbstractController    308
12.12.3    UrlFilenameViewController    308
12.12.4    ParameterizableViewController    309
12.12.5    MultiActionController    309
12.13    數據綁定    310
12.13.1    使用數據綁定時的方便功能    310
12.14    使用控制器的實際例子    311
12.15    使用AbstractController查看演出列表    311
12.15.1    預訂    313
12.16    向導功能    318
12.16.1    基本配置    318
12.16.2    模板方法    318
12.16.3    向導流程    319
12.16.4    頁面改變、編號和其他動作    319
12.17    擴展Spring處理器的基礎設施    320
12.18    上傳文件    321
12.18.1    配置多部分解析器    321
12.18.2    創(chuàng)建表單來上傳文件    321
12.18.3    處理上傳的數據    322
12.19    測試控制器    322
12.19.1    無需應用程序上下文的測試    323
12.19.2    使用模仿對象的更廣泛測試    323
12.19.3    使用完全的應用程序上下文測試    323
12.19.4    測試Web應用程序的其他方法    324
12.19.5    小結    324
第13章    Web視圖技術    326
13.1    一個例子    326
13.1.1    通用配置    327
13.1.2    JSP    327
13.1.3    FreeMarker    327
13.1.4    使用iText生成PDF    328
13.2    選擇技術時的注意事項    328
13.3    視圖對象和模型    329
13.4    AbstractView提供的特性    330
13.4.1    使用RedirectView發(fā)布新的請求    330
13.4.2    使用視圖前綴發(fā)布轉向或者重定向    331
13.5    JSP    332
13.5.1    配置應用程序以使用JSP    332
13.5.2    使用定制標記創(chuàng)建表單    333
13.5.3    使用標記文件創(chuàng)建可重用的元素    337
13.6    Velocity和FreeMarker    338
13.6.1    配置視圖解析器    338
13.6.2    使用表單簡化宏    340
13.7    Tiles    342
13.8    基于XML和XSLT的視圖    344
13.9    Excel和基于其他文檔的視圖    345
13.9.1    從表演列表生成Excel文件    345
13.9.2    以模板作為Excel文件的基礎    346
13.9.3    基于其他文檔的視圖    346
13.9.4    使用HandlerInterceptor區(qū)分HTML和Excel    346
13.10    實現定制視圖    347
13.10.1    View和AbstractView    347
13.10.2    實現從數據對象生成XML的視圖    348
13.10.3    實現定制視圖時的注意事項    348
13.11    小結    349
第14章    與其他Web框架集成    350
14.1    選擇MVC框架時的注意事項    350
14.1.1    比較傳統(tǒng)的Web MVC框架    350
14.2    與Spring集成:核心概念    359
14.3    WebWork 集成    361
14.3.1    設置ObjectFactory    361
14.4    Struts集成    361
14.4.1    使用ActionSupport    362
14.4.2    使用DelegationRequestProcessor和DelegationActionProxy    362
14.4.3    使用自動裝配的基本動作    364
14.5    Tapestry集成    365
14.5.1    為Tapestry準備Bean    365
14.5.2    頁面類    365
14.5.3    頁面定義    366
14.5.4    頁面模板    366
14.5.5    Tapestry集成的最終思考    366
14.6    JSF集成    367
14.7    小結    368
第15章    樣本應用程序    369
15.1    服務器技術的選擇    369
15.2    應用層    370
15.3    持久性層    370
15.3.1    數據模型    370
15.3.2    域對象模型    371
15.3.3    對象/關系映射    371
15.3.4    DAO實現    373
15.3.5    數據訪問上下文    374
15.4    業(yè)務服務層    374
15.4.1    服務    374
15.4.2    應用程序上下文    375
15.5    Web層    375
15.5.1    應用程序流程    376
15.5.2    通過web.xml配置應用程序    376
15.5.3    Web控制器    377
15.5.4    視圖技術    377
15.6    與J2EE設計和開發(fā)實現的比較    378
15.6.1    更簡單的技術    378
15.6.2    數據庫變化    378
15.7    服務器配置    378
15.7.1    MySQL    379
15.7.2    Tomcat    379
15.8    組建和部署    379
15.8.1    創(chuàng)建和載入數據庫表    380
15.8.2    組建應用程序并部署到Tomcat服務器    380
15.9    小結    380
第16章    結論    381
16.1    Spring解決的問題    381
16.2    Spring解決方案    381
16.3    Spring開發(fā)的指導方針    383
16.3.1    技術選擇    383
16.3.2    層與層    385
16.3.3    構造應用程序    389
16.3.4    測試應用程序    392
16.4    相關項目    394
16.4.1    Spring的Acegi Security    394
16.5    其他項目    395
16.6    非J2EE環(huán)境中的Spring    395
16.7    發(fā)現更多    396
16.7.1    書籍和文章    396
16.7.2    在線資源    397
16.7.3    樣本應用程序    397
16.8    前景    398
附錄A    樣本應用程序的需求    399
A.1    概述    399
A.2    用戶群體    399
A.2.1    公眾Internet用戶    399
A.2.2    售票處用戶    400
A.2.3    系統(tǒng)管理員    400
A.3    假設    400
A.4    范圍限制    401
A.5    交付時間表    401
A.6    Internet用戶界面    401
A.6.1    基本工作流    402
A.6.2    錯誤處理    402
A.6.3    應用程序屏幕    402
A.7    非功能性需求    409
A.8    硬件和軟件環(huán)境    410

本目錄推薦

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