注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計其他編程語言/工具SprIng框架高級編程

SprIng框架高級編程

SprIng框架高級編程

定 價:¥59.00

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

ISBN: 9787111186380 出版時間: 2006-04-01 包裝: 平裝
開本: 16開 頁數(shù): 471 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

Professional Java Development with the Spring Framework    I
關(guān)于作者    II
致謝    X
目錄    XI
引言    錯誤!未定義書簽。
本書是寫給誰的    III
本書的目標(biāo)    III
本書討論的范圍    III
預(yù)備知識    IV
推薦的閱讀    IV
使用本書需要什么    V
樣本應(yīng)用程序    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    技術(shù)    7
1.3.2    面向方面的編程    9
1.3.3    一致性抽象    12
1.3.4    與其他框架的關(guān)系    16
1.4    使用Spring構(gòu)造應(yīng)用程序    18
1.4.1    關(guān)系圖    18
1.4.2    持久性和集成    20
1.4.3    業(yè)務(wù)服務(wù)對象    23
1.4.4    表示    24
1.5    前景    25
1.5.1    發(fā)布日程    25
1.5.2    Java和J2EE的進展    26
1.5.3    技術(shù)趨勢    27
1.5.4    標(biāo)準(zhǔn)與源碼公開    27
1.6    Spring項目和社區(qū)    28
1.6.1    歷史    28
1.6.2    模塊摘要    29
1.6.3    支持的環(huán)境    32
1.7    小結(jié)    32
第2章    Bean工廠與應(yīng)用程序上下文    34
2.1    控制反轉(zhuǎn)和依賴注入    34
2.1.1    不同形式的依賴注入    36
2.1.2    在設(shè)置器注入和構(gòu)造函數(shù)注入之間決定    37
2.2    容器    38
2.2.1    Bean工廠    39
2.2.2    應(yīng)用程序上下文    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    對服務(wù)和資源訪問的抽象    54
2.2.9    重用Bean定義    57
2.2.10    使用后置處理器處理定制的Bean和容器    59
2.3    小結(jié)    63
第3章    高級容器概念    64
3.1    低層資源的抽象    64
3.1.1    應(yīng)用程序上下文作為ResourceLoader    64
3.1.2    應(yīng)用程序上下文作為消息源    66
3.2    應(yīng)用程序事件    68
3.3    管理容器    69
3.3.1    ApplicationContext構(gòu)造函數(shù)中的資源位置路徑    69
3.3.2    應(yīng)用程序上下文的聲明性用法    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    小結(jié)    83
第4章    Spring與AOP    84
4.1    目標(biāo)    84
4.2    假設(shè)    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    暴露當(dāng)前的代理    114
4.5.5    暴露當(dāng)前的MethodInvocation    115
4.5.6    理解代理類型    115
4.5.7    調(diào)試與測試    117
4.5.8    其他    118
4.6    與其他AOP框架集成    120
4.6.1    目標(biāo)    120
4.6.2    AspectJ集成    121
4.6.3    AspectWerkz    125
4.7    參考文獻    125
4.8    小結(jié)    126
第5章    DAO支持與JDBC框架    127
5.1    數(shù)據(jù)訪問對象模式    127
5.2    Spring的JDBC框架概述    128
5.2.1    起因:直接使用JDBC的問題    128
5.2.2    Spring可以如何幫助    130
5.2.3    簡單的例子    130
5.3    建立樣本應(yīng)用程序的數(shù)據(jù)訪問層    131
5.3.1    樣本應(yīng)用程序的數(shù)據(jù)模型    131
5.3.2    DataSource    132
5.3.3    異常轉(zhuǎn)譯    133
5.4    使用JdbcTemplate的操作    134
5.4.1    回調(diào)方法的使用    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    檢索數(shù)據(jù)庫生成的鍵    142
5.5.6    調(diào)用存儲過程    143
5.6    高級概念    144
5.6.1    在應(yīng)用程序服務(wù)器中的運行Spring JDBC    144
5.6.2    使用定制的異常轉(zhuǎn)譯    145
5.6.3    讀寫LOB數(shù)據(jù)    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    小結(jié)    153
第6章    事務(wù)和資源管理    154
6.1    背景    154
6.1.1    什么是事務(wù)?    154
6.1.2    ACID屬性    154
6.1.3    并發(fā)控制    156
6.2    事務(wù)與J2EE    156
6.2.1    局部事務(wù)    157
6.2.2    全局/分布式事務(wù)    157
6.2.3    事務(wù)傳播    157
6.2.4    事務(wù)劃分    157
6.3    Spring事務(wù)支持的例子    158
6.4    Spring的事務(wù)抽象介紹    159
6.4.1    事務(wù)控制選擇的概述    159
6.4.2    事務(wù)劃分策略    162
6.4.3    事務(wù)管理策略    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    小結(jié)    173
第7章    對象/關(guān)系映射    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    數(shù)據(jù)訪問對象    178
7.2.2    事務(wù)管理    179
7.3    iBATIS SQL Maps    179
7.3.1    映射文件    180
7.3.2    DAO實現(xiàn)    181
7.3.3    在Spring上下文中設(shè)置    182
7.3.4    事務(wù)管理    182
7.3.5    iBATIS概要    183
7.4    Hibernate    184
7.4.1    映射文件    184
7.4.2    DAO實現(xiàn)    185
7.4.3    Spring上下文中的設(shè)置    186
7.4.4    設(shè)置為JCA連接器    187
7.4.5    事務(wù)管理    188
7.4.6    Open Session in View    192
7.4.7    BLOB/CLOB處理    194
7.4.8    Hibernate:小結(jié)    195
7.5    JDO    196
7.5.1    持久性對象的生命周期    197
7.5.2    DAO實現(xiàn)    197
7.5.3    在Spring上下文中設(shè)置    199
7.5.4    事務(wù)管理    200
7.5.5    PersistenceManager的生命周期    200
7.5.6    Open PersistenceManager in View    201
7.5.7    JDO方言    203
7.5.8    JDO:小結(jié)    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    小結(jié)    207
第8章    輕量級遠程處理    209
8.1    概念和范圍    209
8.2    公共的配置風(fēng)格    211
8.3    Hessian和Burlap    212
8.3.1    訪問一個服務(wù)    213
8.3.2    導(dǎo)出一個服務(wù)    214
8.4    HTTP調(diào)用器    215
8.4.1    訪問一個服務(wù)    216
8.4.2    導(dǎo)出一個服務(wù)    216
8.4.3    定制化選項    217
8.5    RMI    218
8.5.1    訪問一個服務(wù)    219
8.5.2    Stub查詢策略    220
8.5.3    導(dǎo)出一個服務(wù)    221
8.5.4    定制化選項    222
8.5.5    RMI-IIOP    222
8.6    通過JAX-RPC的Web服務(wù)    223
8.6.1    訪問一個服務(wù)    224
8.6.2    導(dǎo)出一個服務(wù)    225
8.6.3    定制的類型映射    226
8.7    小結(jié)    227
第9章    支持性服務(wù)    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    消息轉(zhuǎn)換器    233
9.1.7    目的管理    233
9.1.8    事務(wù)管理    234
9.1.9    JmsGatewaySupport    235
9.1.10    前景    236
9.2    使用Spring的調(diào)度    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    重用現(xiàn)有的郵件會話    242
9.3.3    使用COS的郵寄發(fā)送    242
9.3.4    通用的郵件管理器    243
9.4    腳本    245
9.4.1    一致性模型    245
9.4.2    其他腳本語言    248
9.5    小結(jié)    248
第10章    Spring的Acegi Security系統(tǒng)    249
10.1    企業(yè)應(yīng)用程序的安全選擇    249
10.1.1    典型的需求    249
10.1.2    Acegi Security簡介    250
10.1.3    Java身份驗證和授權(quán)服務(wù)    252
10.1.4    Servlet規(guī)范    254
10.2    Acegi Security的基礎(chǔ)    255
10.2.1    身份驗證    255
10.2.2    存儲身份驗證對象    257
10.2.3    授權(quán)    258
10.2.4    域?qū)ο髮嵗陌踩?nbsp;   259
10.3    范例代碼    262
10.3.1    范例介紹    262
10.3.2    安全不知道的實現(xiàn)    262
10.3.3    安全方法    263
10.3.4    身份驗證    263
10.3.5    授權(quán)    264
10.4    小結(jié)    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實現(xiàn)EJB    273
11.3.1    無狀態(tài)會話Bean    273
11.3.2    有狀態(tài)會話Bean    275
11.3.3    消息驅(qū)動的Bean    276
11.3.4    XDoclet    276
11.4    單態(tài)容器訪問,好還是壞?    277
11.4.1    ContextSingletonBeanFactoryLocator和SingletonBeanFactoryLocator    278
11.4.2    共享的上下文作為Web應(yīng)用程序的應(yīng)用程序上下文的雙親    280
11.4.3    使用來自EJB的共享的上下文    280
11.5    測試關(guān)注點    281
11.5.1    在POJO委托中實現(xiàn)業(yè)務(wù)功能    281
11.5.2    使用模仿的EJB容器    282
11.5.3    應(yīng)用程序服務(wù)器內(nèi)部的集成測試    282
11.6    小結(jié)    283
第12章    Web MVC框架    284
12.1    簡單的例子    284
12.2    一般的體系結(jié)構(gòu)    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    基礎(chǔ)設(shè)施組件    289
12.3.1    DispatcherServlet    289
12.3.2    WebApplicationContext    291
12.4    處理請求有關(guān)的工作流    293
12.5    Spring MVC Web應(yīng)用程序的一般布局    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    數(shù)據(jù)綁定    310
12.13.1    使用數(shù)據(jù)綁定時的方便功能    310
12.14    使用控制器的實際例子    311
12.15    使用AbstractController查看演出列表    311
12.15.1    預(yù)訂    313
12.16    向?qū)Чδ?nbsp;   318
12.16.1    基本配置    318
12.16.2    模板方法    318
12.16.3    向?qū)Я鞒?nbsp;   319
12.16.4    頁面改變、編號和其他動作    319
12.17    擴展Spring處理器的基礎(chǔ)設(shè)施    320
12.18    上傳文件    321
12.18.1    配置多部分解析器    321
12.18.2    創(chuàng)建表單來上傳文件    321
12.18.3    處理上傳的數(shù)據(jù)    322
12.19    測試控制器    322
12.19.1    無需應(yīng)用程序上下文的測試    323
12.19.2    使用模仿對象的更廣泛測試    323
12.19.3    使用完全的應(yīng)用程序上下文測試    323
12.19.4    測試Web應(yīng)用程序的其他方法    324
12.19.5    小結(jié)    324
第13章    Web視圖技術(shù)    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    選擇技術(shù)時的注意事項    328
13.3    視圖對象和模型    329
13.4    AbstractView提供的特性    330
13.4.1    使用RedirectView發(fā)布新的請求    330
13.4.2    使用視圖前綴發(fā)布轉(zhuǎn)向或者重定向    331
13.5    JSP    332
13.5.1    配置應(yīng)用程序以使用JSP    332
13.5.2    使用定制標(biāo)記創(chuàng)建表單    333
13.5.3    使用標(biāo)記文件創(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文件的基礎(chǔ)    346
13.9.3    基于其他文檔的視圖    346
13.9.4    使用HandlerInterceptor區(qū)分HTML和Excel    346
13.10    實現(xiàn)定制視圖    347
13.10.1    View和AbstractView    347
13.10.2    實現(xiàn)從數(shù)據(jù)對象生成XML的視圖    348
13.10.3    實現(xiàn)定制視圖時的注意事項    348
13.11    小結(jié)    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    設(shè)置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準(zhǔn)備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    小結(jié)    368
第15章    樣本應(yīng)用程序    369
15.1    服務(wù)器技術(shù)的選擇    369
15.2    應(yīng)用層    370
15.3    持久性層    370
15.3.1    數(shù)據(jù)模型    370
15.3.2    域?qū)ο竽P?nbsp;   371
15.3.3    對象/關(guān)系映射    371
15.3.4    DAO實現(xiàn)    373
15.3.5    數(shù)據(jù)訪問上下文    374
15.4    業(yè)務(wù)服務(wù)層    374
15.4.1    服務(wù)    374
15.4.2    應(yīng)用程序上下文    375
15.5    Web層    375
15.5.1    應(yīng)用程序流程    376
15.5.2    通過web.xml配置應(yīng)用程序    376
15.5.3    Web控制器    377
15.5.4    視圖技術(shù)    377
15.6    與J2EE設(shè)計和開發(fā)實現(xiàn)的比較    378
15.6.1    更簡單的技術(shù)    378
15.6.2    數(shù)據(jù)庫變化    378
15.7    服務(wù)器配置    378
15.7.1    MySQL    379
15.7.2    Tomcat    379
15.8    組建和部署    379
15.8.1    創(chuàng)建和載入數(shù)據(jù)庫表    380
15.8.2    組建應(yīng)用程序并部署到Tomcat服務(wù)器    380
15.9    小結(jié)    380
第16章    結(jié)論    381
16.1    Spring解決的問題    381
16.2    Spring解決方案    381
16.3    Spring開發(fā)的指導(dǎo)方針    383
16.3.1    技術(shù)選擇    383
16.3.2    層與層    385
16.3.3    構(gòu)造應(yīng)用程序    389
16.3.4    測試應(yīng)用程序    392
16.4    相關(guān)項目    394
16.4.1    Spring的Acegi Security    394
16.5    其他項目    395
16.6    非J2EE環(huán)境中的Spring    395
16.7    發(fā)現(xiàn)更多    396
16.7.1    書籍和文章    396
16.7.2    在線資源    397
16.7.3    樣本應(yīng)用程序    397
16.8    前景    398
附錄A    樣本應(yīng)用程序的需求    399
A.1    概述    399
A.2    用戶群體    399
A.2.1    公眾Internet用戶    399
A.2.2    售票處用戶    400
A.2.3    系統(tǒng)管理員    400
A.3    假設(shè)    400
A.4    范圍限制    401
A.5    交付時間表    401
A.6    Internet用戶界面    401
A.6.1    基本工作流    402
A.6.2    錯誤處理    402
A.6.3    應(yīng)用程序屏幕    402
A.7    非功能性需求    409
A.8    硬件和軟件環(huán)境    410

本目錄推薦

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