你的J2EE项目是否耗费了你太多的时间?它们是否难以调试?它们是否效率不彰?也许你还在使用传统的J2EE方案,然而这种主案太过复杂,而且并非真正面向对象。这里的很多问题都与EJB有关:EJB是一种复杂的技术,但它没有兑现自己曾经的承诺。

1. 站长评价

这是一本很古老的书,同时也是一本介绍Spring框架设计理念、出现缘由的书,也是一本介绍软件设计的书!

在Java开发领域,Spring框架应该说是久负盛名,而且是Java Web开发必备武器。但是,随着Spring的发展壮大, Spring涵盖的东西也越来越多:Spring Boot、Spring Cloud等等以Spring框架(Spring Framework)为基础的Spring生态系统。

所以,对于初学Spring的人而言,可能不知道从何入手。所以,推荐先阅读这本书,本书的作者也是Spring框架的发起者。他在本书中详细介绍了Spring框架的出现原因、Spring框架如何解决一系列企业级问题,如控制反转(IoC)、事务控制、远程调用等等。同时,他还详细阐述了Spring框架架构设计理念和技术抉择,对比当时流行的企业级框架EJB的种种缺陷,一一介绍了Spring框架如何采用轻量级的方式来解决企业级J2EE问题。总之,是一本深入了解Spring框架的经典著作。不论你是初学Spring,还是对Spring已经了如指掌,都可以从本书中学到很多东西。

本书的前5章都在讲述EJB相关的内容,如果不想了解EJB可以直接从第六章开始阅读。

  • 丰富指数:☆☆☆☆

  • 难度指数:☆☆☆☆

  • 推荐指数:☆☆☆☆

迫不及待想要阅读它了?点此立即下载本书的PDF版本(仅供可以学习研究使用,切勿用于商业用途)!

2. 内容简介

expert one on one j2ee without ejb

在这本实战手册中,你将看到另一种截然不同的方案:没有EJB,却可以创建质量更高的应用程序,所需的时间和成本则更低。你将学会如何充分利用各种实用的技巧和工具,包括时下流行的Spring框架和Hibernate两个开源工具。你将看到如何高效地解决企业级应用的核心问题,例如事务管理、持久化、远程调用和web设计。你将了解这种新的方案给可测试性、性能和可伸缩性带来怎样的影响,并亲身体验轻量级架构如何大幅降低项目开发所需的时间和工作量。 自从servlet、EJB、JSP等J2EE技术发布之初,本书作者Rod Johnson就一直在使用这些技术,他对于这些技术的优劣利弊了如指掌。现在,通过这本书,你将可以面对面地分享他的专家经验。

你将从本书学到……

如何针对自己的应用程序找到 简单、 易维护的架构;在不使用EJB的情况下有效地管理事务;如何利用AOP和loC解决企业级软件开发中的常见问题;web层设计,以web层在设计良好的J2EE应用中的地位;J2EE应用中的数据访问技术,包括BC、Hibernate和O;如何利用开源产品提升生产率、减少编码量;如何从设计层面上改善性能和可伸缩性。 “传统的J2EE设计思路尤其是EJB日益让架构师和开发者们灰心丧气,我这本书正是为这些人而写的。本书将告诉读者,如何从现在开始用更清晰、更高效的方案去替代EJB,并开始迈向web应用的新时代。”

3. 作者简介

Rod Johnson,Spring框架的创始人,同时也是SpringSource的联合创始人。Spring是面向切面编程(AOP)和控制反转(IoC)的容器框架。Rod的畅销书Expert One-on-One J2EE Design and Development(2002年出版)是迄今为止J2EE领域最具影响力的书之一。

4. 目录

第1章 为什么要“j2ee without ejb”
  1. 聚光灯下的ejb

  2. j2ee还剩什么?

  3. 站在十字路口的j2ee

  4. 前行的路

  5. 主旋律

  6. 轻量级框架和容器

  7. 我们还应该使用ejb吗?

  8. 小结

第2章 目标
  1. 生产率

  2. 问题

  3. 传统j2ee方案解决生产率问题的办法

  4. 提升生产率更好的办法

  5. oo

  6. 业务需求的重要性

  7. 经验过程的重要性

  8. 小结

第3章 各种架构
  1. 架构性构件

  2. .业务服务层

  3. 向外部暴露业务对象

  4. 数据访问层,或eis层

  5. j2ee架构

  6. 两种ejb架构

  7. 两种非ejb架构

  8. j2ee架构实例

  9. “经典的”j2ee远程ejb架构

  10. 本地ejb架构

  11. 特制的非ejb架构

  12. “轻量级容器架构”:示例应用系统

  13. 确定是否采用应用服务器

  14. 小结

第4章 简单性的红利
  1. 复杂性的代价

  2. 在j2ee应用系统中,导致复杂性产生的原因

  3. 导致复杂性的架构性原因

  4. 导致复杂性的文化性原因:一个依靠复杂性为生的产业

  5. 复杂到什么地步就是过度了?

  6. 简单还是幼稚?

  7. 刚刚够好就行吗?

  8. 变化的趋势

  9. 总结

第5章 ejb,五年间
  1. 炒作和经验

  2. ejb和j2ee行业

  3. 实践中的ejb

  4. 一个过时的组件模型

  5. java语言的进步

  6. .net的挑战

  7. web service

  8. 敏捷方法学的兴起

  9. 关于ejb目标的混淆

  10. 从未出现的组件市场

  11. 方兴未艾的新范式:aop

  12. ejb, 我们真正需要什么?为什么无状态session bean如此流行?

  13. 声明性事务管理

  14. 远程调用

  15. 集群

  16. 线程管理

  17. ejb实例池

  18. 资源池

  19. 安全

  20. 业务对象管理

  21. 总结:ejb的服务

  22. ejb,我们不想要什么?

  23. 容器的锁定

  24. 丑陋的结构,泛滥的类

  25. 部署描述文件的地狱

  26. 类加载器的地狱

  27. 测试

  28. ejb的滥用

  29. 复杂的编程模型

  30. 简单的事情会变得困难

  31. “让开发人员忽略企业应用的复杂性”,这个目标现实吗?

  32. 生产率的损失

  33. 可移植性的问题

  34. ejb能浴火重生吗?

  35. 工具支持

  36. ejb 3.0

  37. 神话与谬论

  38. jee == ejb

  39. 使用ejb的可疑论据

  40. 继续前进

  41. moving forward

  42. 选择是否使用ejb

  43. 传统的知识

  44. 今天的选择

  45. 后ejb时代的舆论

  46. 标准,创新,和开源

  47. 小结

第6章 轻量级容器与控制反转
  1. 轻量级容器

  2. 什么是轻量级容器?

  3. 我们到底为什么需要容器?

  4. 轻量级容器 vs. ejb容器

  5. ejb的好处

  6. 管理业务对象

  7. 接口与实现的分离

  8. ejb:不完善的解决方案

  9. 控制反转

  10. ioc实现策略

  11. ioc容器

  12. ioc容器间的移植

  13. 对代码风格、测试以及开发过程的影响

  14. 代码风格

  15. 可测试性

  16. 开发过程

  17. 使用企业级服务

  18. 小结

第7章 spring框架简介
  1. 来历与动机

  2. 一个分层的应用框架

  3. 基础构建模块

  4. j2ee之上的spring

  5. web应用中的spring

  6. 核心bean工厂

  7. 基础接口

  8. 通过xml组装bean

  9. 非xml格式的bean声明

  10. 组装应用对象

  11. 自动装配和依赖检查

  12. 构造子决议

  13. 生命周期回调

  14. 复杂的属性值

  15. 资源设置

  16. 典型的java/j2ee资源访问

  17. bean容器中的资源声明

  18. 工厂bean

  19. spring应用上下文

  20. 生命周期回调

  21. 信息源

  22. 文件资源

  23. bean factory 后处理

  24. 小结

第8章 基于aop概念的声明性中间件
  1. aop 101

  2. 动机

  3. j2ee中的aop

  4. 定义

  5. 历史

  6. 作为aop子集的ejb

  7. aop实现策略

  8. 动态代理

  9. 动态字节码生成

  10. java代码生成

  11. 使用定制的类加载器

  12. 语言扩展

  13. aop实现

  14. aspectj

  15. aspectwerkz

  16. jboss4

  17. spring

  18. nanning

  19. aop联盟

  20. aop设计问题

  21. aop的危险性

  22. aop设计的建议

  23. 随意点菜的j2ee

  24. spring中的aop实践

  25. 使用proxyfactorybean

  26. 便利的factorybean

  27. 自动代理

  28. 编程用法

  29. 使用源码级元数据提供aop之上的抽象

  30. .net范例

  31. 概念级元数据 vs. 实现级元数据

  32. 编程访问上下文信息

  33. spring范例

  34. ejb 3.0

  35. 编程风格的暗含意味

  36. 前后一致的命名规范

  37. 避免依赖aop基础设施

  38. 受控异常和增强

  39. 参考资料

  40. 书籍

  41. 论文

  42. 文章和在线资源

  43. 小结

第9章 事务管理
  1. 上层(high-level)事务管理

  2. 传统的j2ee事务管理

  3. j2ee容器作为事务协调器

  4. 人见人爱的cmt

  5. 直接使用jta

  6. 插曲:远程事务传播

  7. 轻量级事务基础设施

  8. spring framework的事务管理

  9. 事务声明

  10. 编程式事务处理

  11. 声明式事务管理

  12. 事务管理策略

  13. 选择j2ee服务器的提示

  14. 小结

第10章 持久化
  1. 常见持久化策略

  2. 持久化模式概览

  3. 流行的j2ee数据访问解决方案

  4. 选择一种持久化策略

  5. 透明持久化和领域对象的行为

  6. java持久化技术简史

  7. java o/r映射解决方案的缓慢成长

  8. entity bean的败笔

  9. 实践中的数据访问技术

  10. 资源管理

  11. jdbc

  12. ibatis sql映射

  13. jdo

  14. hibernate

  15. 数据访问对象(dao)模式

  16. 业务对象与数据访问对象

  17. dao和透明持久化

  18. 数据访问对象的种类

  19. dao设计中的问题

  20. dao基础设施的问题

  21. 使用spring框架进行数据访问

  22. 通用的数据访问异常

  23. 再论业务对象与数据访问对象的关系

  24. jdbc

  25. ibatis sql映射

  26. jdo

  27. hibernate

  28. 小结

第11章 远程调用
  1. 经典的j2se远程方案:rmi

  2. 访问和暴露rmi服务

  3. 用rmi调用器实现透明远程调用

  4. 经典的j2ee远程机制:ejb

  5. 通信协议

  6. 状态管理

  7. 访问远程ejb

  8. 部署远程ejb

  9. 基于wsdl的web services:jax-rpc

  10. 访问web services

  11. servlet和ejb端点

  12. 轻量级远程方案:hessian和burlap

  13. 访问和暴露hessian和burlap服务

  14. 小结

第12章 替换其它的ejb服务
  1. 线程管理

  2. 线程神话

  3. ejb线程模型

  4. ejb实例池

  5. 何时需要实例池?

  6. 何时不需要实例池

  7. ejb线程机制和缓冲池的替代方案

  8. 线程模型

  9. 实例池概述

  10. 声明性安全

  11. ejb安全模型

  12. ejb模型的缺陷

  13. 借助aop的声明式安全

  14. jms和消息驱动bean

  15. 小结

第13章 web层设计
  1. 目标和体系结构的讨论

  2. web层设计目标

  3. 用servlet和jsp定制的mvc

  4. 融入整体架构

  5. 请求驱动的web mvc框架

  6. struts 1.1

  7. webwork2

  8. spring的web mvc框架

  9. 适宜的视图技术

  10. web mvc的其它实现方式

  11. portals和portlets

  12. 事件驱动的web mvc框架

  13. 小论asp.net

  14. 总结

第14章 单元测试与可测试性
  1. 为何测试很重要?

  2. 单元测试的目标

  3. 确保可测试性

  4. 编程风格

  5. 如何让你的代码难于测试

  6. 来自标准库的难题

  7. 提高可测试性的技巧

  8. 依赖倒置

  9. aop

  10. 单元测试技巧

  11. 替换

  12. 模仿对象

  13. 编写有效测试

  14. 测试驱动开发(tdd)

  15. 好处

  16. 对tdd的反对意见

  17. tdd实践

  18. 学习tdd

  19. 案例研究:spring的经验

  20. 测试spring应用程序

  21. 对pojo进行测试

  22. spring的抽象带来的好处

  23. 何时需要依赖spring api

  24. 使用替换配置进行测试

  25. 覆盖率分析和其他测试工具

  26. 测试生成器

  27. 覆盖分析工具

  28. 突变测试工具

  29. 资源

  30. 小结

第15章 性能与可伸缩性
  1. 定义

  2. 设置清晰的目标

  3. 体系结构的选择:影响性能和可伸缩性的关键因素

  4. 对象分布、集群和农场

  5. 数据访问

  6. 其他体系结构方面的问题

  7. 不同实现的选择

  8. 摆脱ejb服务设施对性能的影响

  9. 结果总结

  10. 摆脱ejb服务设施对性能的影响

  11. 缓存的代码优化

  12. 调优和部署

  13. jvm

  14. 应用服务器

  15. 框架配置

  16. 数据库配置

  17. 一种循证的性能策略

  18. 基准测试

  19. 采样(profiling)

  20. 诊断

  21. 资源

  22. 小结

第16章 示例应用系统
  1. pet store(宠物店)业务需求

  2. ibatis jpetstore 3.1

  3. 中间层

  4. 远程调用机制

  5. 可改进的空间

  6. spring jpetstore

  7. 中间层

  8. 数据访问层

  9. web层

  10. 远程机制

  11. 编译和部署

  12. war部署中的一些问题

  13. 部署spring jpetstore

  14. 小结

第17章 结语
  1. 回顾

  2. 前行

  3. 为你的应用选择最佳架构

  4. 轻量级容器架构

  5. 标准关键词

  6. 指导方针

  7. 编程风格

  8. 控制反转(ioc)和依赖注入

  9. aop

  10. 测试

  11. 写在最后

  12. 索引

5. 下载地址


扫码关注公众号,回复“书籍”关键字,查看更多推荐书籍!

weixinqr
下载声明
  1. 本站所有下载资源均来自互联网,由站长搜集整理,版本归原作者所有,如有侵权请联系站长删除。

  2. 本站所有下载资源仅供个人学习和研究使用,请勿用于商业用途,请在下载后24小时内删除。


相关阅读