Expert one-on-one J2EE Development without EJB 中文版PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美)Rod Johnson,(美)Juergen Hoeller著;JavaEye译
- 出 版 社:北京:电子工业出版社
- 出版年份:2005
- ISBN:7121016842
- 页数:552 页
第1章 为什么要“J2EE Without EJB” 1
聚光灯下的EJB 1
J2EE还剩什么 3
站在十字路口的J2EE 4
前行的路 5
主旋律 5
轻量级框架和容器 10
我们还应该使用EJB吗 11
小结 12
第2章 目标 13
生产率 13
问题 14
传统J2EE方案解决生产率问题的办法 15
提升生产率更好的办法 20
OO 26
业务需求的重要性 28
经验过程的重要性 28
小结 29
第3章 各种架构 31
架构性构件 31
业务服务层 31
向外部暴露业务对象 35
数据访问层,或EIS层 40
J2EE架构 42
两种EJB架构 42
两种非EJB架构 47
J2EE架构实例 54
“经典的”J2EE远程EJB架构 54
本地EJB架构 57
特制的非EJB架构 59
“轻量级容器架构”:示例应用系统 61
确定是否采用应用服务器 62
小结 63
第4章 简单性的红利 65
复杂性的代价 65
在J2EE应用系统中,导致复杂性产生的原因 66
导致复杂性的架构性原因 66
导致复杂性的文化性原因:一个依靠复杂性为生的产业 71
复杂到什么地步就是过度了 75
简单还是幼稚 75
刚刚够好就行吗 77
变化的趋势 77
总结 78
第5章 EJB,五年间 81
炒作和经验 81
EJB和J2EE行业 82
实践中的EJB 82
一个过时的组件模型 82
Java语言的进步 83
.NET的挑战 83
Web Services 85
敏捷方法学的兴起 86
关于EJB目标的混淆 86
从未出现的组件市场 88
方兴未艾的新范式:AOP 88
EJB,我们真正需要什么?为什么无状态Session Bean如此流行 89
声明性事务管理 90
远程调用 92
集群 92
线程管理 94
EJB实例池 94
资源池 95
安全 95
业务对象管理 96
总结:EJB的服务 97
EJB,我们不想要什么 97
容器的锁定 98
丑陋的结构,泛滥的类 98
部署描述文件的地狱 100
类加载器的地狱 100
测试 100
EJB的滥用 102
复杂的编程模型 102
简单的事情会变得困难 103
“让开发人员忽略企业应用的复杂性”,这个目标现实吗 103
生产率的损失 104
可移植性的问题 104
EJB能浴火重生吗 104
工具支持 104
EJB 3.0 105
神话与谬论 106
J2EE==EJB 106
使用EJB的可疑论据 107
继续前进 107
选择是否使用EJB 107
传统的知识 107
今天的选择 108
后EJB时代的舆论 109
标准,创新和开源 112
小结 118
第6章 轻量级容器与控制反转 121
轻量级容器 122
什么是轻量级容器 122
我们到底为什么需要容器 124
轻量级容器vs.EJB容器 125
EJB的好处 126
管理业务对象 126
接口与实现的分离 126
EJB:不完善的解决方案 127
控制反转 127
IoC实现策略 128
IoC容器 135
IoC容器间的移植 137
对代码风格、测试以及开发过程的影响 138
代码风格 138
可测试性 139
开发过程 139
使用企业级服务 139
小结 141
第7章 Spring框架简介 143
来历与动机 143
一个分层的应用框架 144
基础构建模块 145
J2EE之上的Spring 146
Web应用中的Spring 147
核心bean工厂 149
基础接口 149
通过XML组装bean 151
非XML格式的bean声明 154
组装应用对象 155
自动装配和依赖检查 159
构造子决议 160
生命周期回调 162
复杂的属性值 164
资源设置 165
典型的Java/J2EE资源访问 166
bean容器中的资源声明 168
工厂bean 171
Spring应用上下文 175
生命周期回调 177
信息源 178
文件资源 180
Bean Factory后处理 182
小结 184
第8章 基于AOP概念的声明性中间件 187
AOP 101 188
动机 188
J2EE中的AOP 190
定义 191
历史 194
作为AOP子集的EJB 195
AOP实现策略 197
动态代理 197
动态字节码生成 198
Java代码生成 198
使用定制的类加载器 198
语言扩展 198
AOP实现 199
AspectJ 199
AspectWerkz 201
JBoss 4 201
Spring 203
Nanning 207
AOP联盟 207
AOP设计问题 207
AOP的危险性 207
AOP设计的建议 210
随意点菜的J2EE 211
Spring中的AOP实践 212
使用ProxyFactoryBean 213
便利的FactoryBean 217
自动代理 218
编程用法 219
使用源码级元数据提供AOP之上的抽象 220
.NET范例 220
概念级元数据vs.实现级元数据 221
编程访问上下文信息 222
Spring范例 222
EJB 3.0 225
编程风格的暗含意味 225
前后一致的命名规范 225
避免依赖AOP基础设施 226
受控异常和增强 227
参考资料 227
书籍 227
论文 227
文章和在线资源 227
小结 228
第9章 事务管理 231
上层(High-level)事务管理 231
传统的J2EE事务管理 232
J2EE容器作为事务协调器 233
人见人爱的CMT 234
直接使用JTA 236
插曲:远程事务传播 237
轻量级事务基础设施 238
Spring Framework的事务管理 239
事务声明 240
编程式事务处理 243
声明式事务管理 246
事务管理策略 251
选择J2EE服务器的提示 257
小结 258
第10章 持久化 261
常见持久化策略 262
持久化模式概览 262
流行的J2EE数据访问解决方案 263
选择一种持久化策略 265
透明持久化和领域对象的行为 268
Java持久化技术简史 268
Java O/R映射解决方案的缓慢成长 269
entity bean的败笔 271
实践中的数据访问技术 271
资源管理 272
JDBC 273
iBATIS SQL映射 275
JDO 278
Hibernate 281
数据访问对象(DAO)模式 285
业务对象与数据访问对象 285
DAO和透明持久化 287
数据访问对象的种类 288
DAO设计中的问题 289
DAO基础设施的问题 292
使用Spring框架进行数据访问 293
通用的数据访问异常 293
再论业务对象与数据访问对象的关系 295
JDBC 298
iBATIS SQL映射 301
JDO 302
Hibernate 304
小结 307
第11章 远程调用 309
经典的J2SE远程方案:RMI 310
访问和暴露RMI服务 311
用RMI调用器实现透明远程调用 315
经典的J2EE远程机制:EJB 316
通信协议 317
状态管理 318
访问远程EJB 319
部署远程EJB 324
基于WSDL的web Services:JAX-RPC 325
访问web services 327
Servlet和EJB端点 332
轻量级远程方案:Hessian和Burlap 335
访问和暴露Hessian和Burlap服务 336
小结 339
第12章 替换其它的EJB服务 341
线程管理 342
线程神话 342
EJB线程模型 345
EJB实例池 346
何时需要实例池 347
何时不需要实例池 347
EJB线程机制和缓冲池的替代方案 349
线程模型 349
实例池概述 358
声明性安全 359
EJB安全模型 359
EJB模型的缺陷 359
借助AOP的声明式安全 359
JMS和消息驱动Bean 360
小结 360
第13章 Web层设计 363
目标和体系结构的讨论 364
Web层设计目标 365
用Servlet和JSP定制的MVC 366
融入整体架构 368
请求驱动的Web MVC框架 374
Struts 1.1 375
WebWork2 381
Spring的Web MVC框架 388
适宜的视图技术 401
Web MVC的其它实现方式 403
Portals和Portlets 403
事件驱动的Web MVC框架 404
小论ASP.NET 409
总结 410
第14章 单元测试与可测试性 411
为何测试很重要 412
单元测试的目标 414
确保可测试性 415
编程风格 415
如何让你的代码难于测试 416
来自标准库的难题 420
提高可测试性的技巧 421
依赖倒置 425
AOP 425
单元测试技巧 425
替换 425
模仿对象 426
编写有效测试 430
测试驱动开发(TDD) 433
好处 433
对TDD的反对意见 434
TDD实践 436
学习TDD 436
案例研究:Spring的经验 437
测试Spring应用程序 440
对POJO进行测试 440
Spring的抽象带来的好处 440
何时需要依赖Spring API 441
使用替换配置进行测试 442
覆盖率分析和其他测试工具 443
测试生成器 444
覆盖分析工具 444
突变测试工具 447
资源 448
小结 449
第15章 性能与可伸缩性 451
定义 452
设置清晰的目标 453
体系结构的选择:影响性能和可伸缩性的关键因素 454
对象分布、集群和农场 455
数据访问 461
其他体系结构方面的问题 462
不同实现的选择 463
摆脱EJB服务设施对性能的影响 463
缓存和代码优化 471
调优和部署 476
JVM 476
应用服务器 476
框架配置 477
数据库配置 477
一种循证的性能策略 478
基准测试 479
采样(Profiling) 480
诊断 484
资源 485
小结 485
第16章 示例应用系统 489
Pet Store(宠物店)业务需求 490
iBATIS JPetStore 3.1 490
中间层 491
远程调用机制 493
可改进的空间 494
Spring JPetStore 494
中间层 496
数据访问层 499
Web层 502
远程机制 510
编译和部署 516
WAR部署中的一些问题 516
部署Spring JPetStore 519
小结 520
第17章 结语 521
回顾 521
前行 523
为你的应用选择最佳架构 524
轻量级容器架构 524
标准 526
关键词 529
指导方针 530
编程风格 532
控制反转(IoC)和依赖注入 532
AOP 533
测试 534
写在最后 535
索引 537
- 《AutoCAD 2018自学视频教程 标准版 中文版》CAD/CAM/CAE技术联盟 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019
- 《复分析 英文版》(中国)李娜,马立新 2019
- 《生物化学 本科临床 英文版》张晓伟 2018
- 《Dreamweaver CC 2018标准实例教程 中文版》杨雪静,胡仁喜编著 2019
- 《Flash CC动画制作实用教程 中文版》麓山文化 2019
- 《代数簇 英文版》(荷)Eduard Lo 2019
- 《全国高等教育艺术设计专业规划教材 AutoCAD2020中文版标准教程》(中国)张莉,周子良,何婧 2019
- 《高等学校中外合作办学适用教材 高等数学 上 英文版》(中国)潘斌,牛宏,陈丽 2019
- 《全国高等学校药学类专业教材 药理学 英文版》殷明,朱依谆主编 2017
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017