EJB 3实战

出版社:人民邮电出版社
出版日期:2008-7
ISBN:9787115177896
作者:[美] Debu Panda,Reza Rahman,Derek Lane
页数:494页

作者简介

《EJB 3实战》是公认的EJB 3权威著作,详细介绍了使用EJB 3进行企业级开发的方方面面,包括EJB 3基础、使用EJB 3构造业务逻辑、Java持久化API、EJB 3的实际应用、移植性和互操作性,等等。基于现实场景,《EJB 3实战》提供了大量实用的范例代码、最佳实践、设计模式和性能优化技巧。通过对这些知识的学习,开发者能创建健壮的、可扩展的、基于标准的解决方案。

书籍目录

第一部分 EJB概述
第1章 EJB 3是什么
1.1 EJB概述
1.1.1 EJB作为组件
1.1.2 EJB作为框架
1.1.3 分层架构和EJB
1.1.4 为什么选择EJB 3
1.2 了解EJB类型
1.2.1 会话bean
1.2.2 消息驱动bean
1.2.3 实体和JPA
1.3 深入EJB
1.3.1 访问EJB服务:EJB容器
1.3.2 访问JPA服务:持久化提供器
1.3.3 使用EJB服务的功能
1.4 EJB的新生
1.4.1 HelloUser示例
1.4.2 简化的程序设计模型
1.4.3 用注解,不用部署描述文件
1.4.4 依赖注入与JNDI查找
1.4.5 简化的持久化API
1.4.6 可进行单元测试的POJO组件
1.4.7 EJB 3和Spring
1.5 小结
第2章 EJB 3初体验
2.1 新特性:简化EJB
2.1.1 使用注解替换部署描述文件
2.1.2 依赖注入简介
2.2 ActionBazaar应用程序简介
2.2.1 从构造的一个子集开始
2.2.2 基于EJB 3的解决方案
2.3 使用会话bean构造业务逻辑
2.3.1 使用无状态bean
2.3.2 无状态bean客户端
2.3.3 使用有状态bean
2.3.4 有状态bean客户端
2.4 消息和消息驱动bean
2.4.1 生成账单消息
2.4.2 使用订单账单消息处理器MDB
2.5 使用EJB 3 JPA持久化数据
2.5.1 使用JPA
2.5.2 使用EntityManager
2.6 小结
第二部分 使用EJB 3构造业务逻辑
第3章 使用会话bean构造业务逻辑
3.1 会话bean简介
3.1.1 为什么使用会话bean
3.1.2 会话bean基础
3.1.3 了解程序设计原则
3.1.4 会话状态和会话bean类型
3.1.5 bean生命周期回调
3.2 无状态会话bean
3.2.1 BidManagerBean示例
3.2.2 使用@Stateless注解
3.2.3 指定业务接口
3.2.4 使用bean生命周期回调
3.3 有状态会话bean
3.3.1 附加程序设计原则
3.3.2 BidderAccountCreatorBean示例
3.3.3 有状态bean的业务接口
3.3.4 有状态bean的生命周期回调
3.4 会话bean客户端
3.4.1 使用@EJB注解
3.4.2 注入和有状态会话bean
3.5 有状态bean的性能注意事项
3.5.1 有效地使用有状态会话bean
3.5.2 有状态会话bean的替代方式
3.6 会话bean最佳实践
3.7 小结
第4章 消息和开发MDB
4.1 消息概念
4.1.1 面向消息的中间件
4.1.2 ActionBazaar中的消息
4.1.3 消息模型
4.2 Java消息服务简介
4.2.1 开发JMS消息生产者
4.2.2 JMS消息接口
4.3 使用消息驱动bean
4.3.1 为什么使用MDB
4.3.2 程序设计原则
4.3.3 使用MDB开发消息消费者
4.3.4 使用@MessageDriven注解
4.3.5 实现MessageListener
4.3.6 使用ActivationConfig-Property
4.3.7 使用bean生命周期回调
4.3.8 从MDB发送JMS消息
4.3.9 管理MDB事务
4.4 MDB最佳实践
4.5 小结
第5章 学习高级EJB概念
5.1 EJB内幕
5.1.1 幕后的EJB
5.1.2 EJB上下文:访问运行时环境
5.2 使用依赖注入和JNDI访问资源
5.2.1 使用@Resource注入资源
5.2.2 @Resource注解实际应用
5.2.3 查找资源和EJB
5.3 EJB中的AOP:拦截器
5.3.1 AOP是什么
5.3.2 拦截器是什么
5.3.3 指定拦截器
5.3.4 实现业务拦截器
5.3.5 拦截器类中的回调方法
5.4 调度:EJB 3计时器服务
5.4.1 计时器是什么
5.4.2 使用计时器服务
5.4.3 何时使用EJB计时器
5.5 小结
第6章 事务和安全
6.1 了解事务
6.1.1 ActionBazaar中的事务解决方案
6.1.2 ACID属性
6.1.3 事务管理内幕
6.1.4 两阶段提交
6.1.5 EJB中的事务管理
6.2 容器管理的事务
6.2.1 使用CMT实现Snag-It订购
6.2.2 @TransactionManagement注解
6.2.3 @TransactionAttribute注解
6.2.4 使CMT使用回调
6.2.5 事务和异常处理
6.3 bean管理的事务
6.3.1 使用BMT实现Snag-It订购
6.3.2 获得UserTransaction
6.3.3 使用UserTransaction
6.3.4 BMT的优缺点
6.4 分析EJB安全
6.4.1 验证和授权
6.4.2 用户、组和角色
6.4.3 ActionBazaar中的安全问题
6.4.4 EJB 3和Java EE安全
6.4.5 声明式安全
6.4.6 使用EJB程序式安全
6.5 小结
第三部分 研究JPA
第7章 实现域模型
7.1 域建模和JPA
7.1.1 介绍域模型
7.1.2 ActionBazaar问题域
7.1.3 域模型参与者
7.1.4 EJB 3 Java持久化API
7.1.5 域对象作为Java类
7.2 使用JPA实现域对象
7.2.1 @Entity注解
7.2.2 持久化实体数据
7.2.3 指定实体身份
7.2.4 @Embeddable注解
7.3 实体关系
7.3.1 @OneToOne
7.3.2 @OneToMany和@ManyToOne
7.3.3 @ManyToMany
7.4 小结
第8章 对象关系映射
8.1 阻抗失配
8.1.1 把对象映射到数据库
8.1.2 介绍O/R映射
8.2 映射实体
8.2.1 指定表
8.2.2 映射列
8.2.3 使用@Enumerated
8.2.4 映射CLOB和BLOB
8.2.5 映射临时类型
8.2.6 把实体映射到多个表
8.2.7 生成主键
8.2.8 映射可嵌入类
8.3 映射实体关系
8.3.1 映射一对一关系
8.3.2 一对多和多对一
8.3.3 多对多
8.4 映射继承
8.4.1 单表策略
8.4.2 联结表策略
8.4.3 每个类一个表策略
8.4.4 映射多态关系
8.5 小结
第9章 使用EntityManager操作实体
9.1 介绍EntityManager
9.1.1 EntityManager接口
9.1.2 实体的生命周期
9.1.3 持久化上下文、作用域和EntityManager
9.1.4 在ActionBazaar中使用EntityManager
9.2 创建EntityManager实例
9.2.1 容器管理的EntityManager
9.2.2 应用程序管理的EntityManager
9.3 管理持久化操作
9.3.1 持久化实体
9.3.2 通过主键检索实体
9.3.3 更新实体
9.3.4 删除实体
9.3.5 通过转储清除控制更新
9.3.6 刷新实体
9.4 实体生命周期监听器
9.4.1 使用实体监听器
9.4.2 默认监听器类
9.4.3 监听器类的执行顺序和排除
9.5 实体操作最佳实践
9.6 小结
第10章 使用查询API和JPQL检索实体
10.1 介绍查询API
10.1.1 背景
10.1.2 剖析查询
10.1.3 定义命名查询
10.2 执行查询
10.2.1 创建查询实例
10.2.2 使用Query接口
10.2.3 指定查询提示
10.3 介绍JPQL
10.3.1 定义语句类型
10.3.2 使用FROM子句
10.3.3 条件表达式和操作
10.3.4 使用JPQL函数
10.3.5 使用SELECT子句
10.3.6 使用聚合
10.3.7 排序查询结果
10.3.8 使用子查询
10.3.9 联结实体
10.3.10 批更新和批删除
10.4 原生SQL查询
10.4.1 使用原生SQL的动态查询
10.4.2 使用命名原生SQL查询
10.5 小结
第四部分 EJB 3的实际应用
第11章 打包EJB 3应用程序
11.1 给应用程序打包
11.1.1 剖析EAR文件
11.1.2 加载EAR模块
11.2 分析类加载
11.2.1 类加载基础
11.2.2 分析典型的父委托模型
11.2.3 Java EE应用程序中的类加载
11.2.4 Java EE模块之间的相关性
11.3 打包会话bean和消息驱动bean
11.3.1 打包EJB-JAR
11.3.2 部署描述文件与注解
11.3.3 使用部署描述文件覆写注解
11.3.4 指定默认拦截器设置
11.3.5 使用厂商专有的注解和描述文件
11.4 打包实体
11.4.1 暴露持久化模块
11.4.2 使用persistence.xml描述持久化模块
11.4.3 使用orm.xml执行O/R映射
11.5 最佳实践和常见部署问题
11.5.1 打包和部署最佳实践
11.5.2 诊断常见部署问题
11.6 小结
第12章 有效地跨越应用程序层集成EJB
12.1 设计模式和Web技术
12.1.1 表现层
12.1.2 使用EAO模式
12.1.3 介绍Session Facade模式
12.2 从Web层访问会话bean
12.2.1 使用依赖注入访问会话bean
12.2.2 从帮助器类引用会话bean
12.2.3 处理事务
12.2.4 处理有状态会话bean
12.3 从Web层使用JPA
12.3.1 使用容器管理的实体管理器
12.3.2 通过JTA事务使用应用程序管理的EntityManager
12.3.3 在容器外访问应用程序管理的EntityManager
12.4 小结
第13章 驯服EJB:性能和可伸缩性
13.1 处理实体锁定问题
13.1.1 了解锁定类型
13.1.2 乐观锁定和实体版本
13.1.3 EntityManager和锁定模式
13.2 提高实体性能
13.2.1 重新建模和重新设计计划
13.2.2 优化JDBC层
13.2.3 减少数据库操作
13.2.4 提高查询性能
13.2.5 缓存
13.3 提高EJB 3组件的性能
13.3.1 会话bean性能
13.3.2 提高MDB性能
13.4 集群EJB应用程序
13.4.1 协同定位架构
13.4.2 无状态会话bean的负载平衡
13.4.3 集群有状态会话bean
13.4.4 实体和集群缓存
13.5 小结
第五部分 移植和互操作性
第14章 移植到EJB 3
14.1 与EJB 2的向后兼容性和互操作性
14.1.1 将EJB 2和EJB 3打包在一起
14.1.2 从EJB 3调用EJB 2
14.1.3 从EJB 2使用EJB 3
14.2 移植会话bean
14.2.1 转换接口和bean类
14.2.2 资源使用
14.2.3 事务和安全设置
14.2.4 客户端应用程序
14.3 移植消息驱动bean
14.4 把CMP 2实体移植到EJB 3 JPA
14.4.1 重新设计域模型
14.4.2 DTO用作实体
14.4.3 实体bean类和接口
14.4.4 客户端应用程序
14.5 移植JDBC DAO使用EJB 3 JPA
14.5.1 标识实体
14.5.2 重新构造DAO实现类使用EntityManager API
14.5.3 SQL查询转换为JPQL
14.6 帮助O/R框架使用EJB 3 JPA
14.7 移植方法
14.7.1 策略
14.7.2 手工与自动
14.8 小结
第15章 把EJB暴露为Web服务
15.1 Web服务是什么
15.1.1 认识Web服务组件
15.1.2 Web服务样式
15.1.3 开发Web服务的方法
15.2 JAX-WS:Java EE 5 Web服务平台
15.2.1 介绍Web服务平台
15.2.2 与POJO相比,为什么选择EJB用于Web服务
15.3 使用JAX-WS 2.0开发EJB Web服务
15.3.1 使用@WebService注解
15.3.2 使用@SOAPBinding指定Web服务样式
15.3.3 使用@WebMethod注解
15.3.4 使用@WebParam注解
15.3.5 使用@WebResult注解
15.3.6 使用@OneWay和@HandlerChain注解
15.4 从EJB访问Web服务
15.4.1 访问PlaceBid Web服务
15.4.2 EJB作为Web服务客户
15.5 Web服务开发的最佳实践
15.6 小结
第16章 EJB 3和Spring
16.1 Spring框架简介
16.1.1 Spring框架的优势
16.1.2 控制反转原理
16.1.3 关注分离原理
16.2 通过Spring使用JPA
16.2.1 构造Spring的JPA EAO
16.2.2 配置Spring使用JPA
16.3 结合EJB 3和Spring的功能
16.3.1 开发支持Spring的EJB
16.3.2 从Spring bean使用会话bean
16.4 小结
附录A RMI和JNDI
附录B 复习关系数据库
附录C 注解参考
附录D 部署描述文件参考
附录E 安装和配置Java EE 5 SDK
资源
索引

编辑推荐

  “杰作!讲述了EJB 3的方方面面,仅书中的最佳实践就已经物超所值。强烈推荐!”  ——Awais Bajwa,JSR 243 JDO专家组成员  “我已经买了所有已出版的EJB 3图书,毫无疑问,本书是最好的,它改变了我对EJB 3的看法。”  ——Ashish Srivastava,Oracle工程师  EJB 3是Java EE 5.O中最重要的创新。与EJB 2相比,EJB 3发生了革命性的变化。通过全面拥抱POJO程序设计模型,引入JPA以充分吸取Hibem3ate等对象一关系映射方案的优点,EJB 3大大简化了基于标准的企业应用开发。  本书是EJB 3领域目前公认的不可替代的权威著作。与其他同类图书相比。本书没有过多讲述理论;和IEJB老版本的特性。而是从实战出发,紧扣读者需求,直指EJB 3核心主题,在轻松生动的语言中,带你领略大量代码示例、设计模式、性能调优技巧,以及构造和部署可伸缩应用程序的最佳实践。本书的另一独特之处是充分探讨了EJB与JSF、Ajax甚至Spring等相关技术的集成。通过阅读本书,你将更加深刻地理解Java EE开发的真谛。  作者简介:  Debu Panda,世界级的EJB专家,Oracle Application Server开发团队的产品经理主管,领导着Oracle.Java EE容器的开发。他有15年以上的IT从业经验,在Java Developers Ioumal、TheServerSide等世界一流技术媒体上发表了大量关于企业级Java技术的文章。

章节摘录

  第一部分 EJB概述  本书的主题是EJB 3——令人注目的企业JavaBean标准的新版本。EJB的重生来得正是时候,这一切归功于Java SE 5引入的创新,倒如元数据注解、依赖注入和基于对象-关系映射的持久化等概念。  第1章介绍EJB技术。本间讲解了EJB作为开发平台的独特实力以及提高工作效率和易用性的非常好的新特性。

图书封面


 EJB 3实战下载 更多精彩书评



发布书评

 
 


精彩书评 (总计2条)

  •     本书对EJB3学习者,帮助非常大。书中的最佳实践让人受益匪浅!原版英文书5星。中文翻译,个人觉得读起来比较通顺。但里面的翻译错误还是不少。虽然如此,对于EJB3 的学习,个人首推本书。以下是我发现的翻译错误:P33 第17行 <原文>那么无状态就特别有用 <改为>那么有状态就特别有用P36 倒数第7行 <原文>它和有状态bean相比没... <改为>它和无状态bean相比没...P68 中间的注释7 <原文>指定远程方法 <改为>指定删除方法P72 第2行 <原文>调用这些方法会立即触发bean消息操作 <改为>调用这些方法会立即触发bean摧毁操作P73 倒数第4行 <原文>beanName元素允许我们标识此业务接口 <改为>beanName元素允许我们标识此EJBP74 倒数第3行 <原文>功能就有些值得怀疑 <改为>功能就毫无怀疑P77 倒数第8行 <原文>大多数通信是异步的 <改为>大多数通信是同步的。以上翻译错误,是我在看书学习时,因为纳闷其意思,再去查英文原版,发现翻译出错。我继续看第4章。勘误会继续和大家分享。最后,本人再次强烈推荐 本书,作为 中文版EJB3的学习用书。因为,其英文版实在是太帅了。
  •     书写的很好,很实用。个人觉得是介绍EJB3最好的一本书。 但翻译的实在是让我忍无可忍。看完中文版后,觉得是一个精神分裂的机器人翻译的……错误百出,很多名词的翻译都不正确,若果对EJB了解不深,本书中文版的错误极容易误导读者。建议参考英文版一起看

精彩短评 (总计24条)

  •     1.很差
  •     送货很及时,非常感谢,书的质量还不错
  •     感觉翻译水平很一般~
  •     书写的很好,很实用。个人觉得是介绍EJB3最好的一本书。 但翻译的实在是让我忍无可忍。看完中文版后,觉得是一个精神分裂的机器人翻译的……错误百出,很多名词的翻译都不正确,若果对EJB了解不深,本书中文版的错误极容易误导读者。建议参考英文版一起看
  •     感觉不错,先看看
  •     挺好的。我很喜欢。
  •     技术类的书,最好不要看翻译的。首先一个,保持对英文的水平;我认识很多人,工作时间久了,good morning都忘记是什么意思了。
    另外一个就是,眼界会宽一点,可以看看国外比较热门的技术网站。
    最后就是,可以节省很多买书的钱。
  •     简单的实例以及简单的讲解,理解起来不是很难
  •     这本书传承了in action系列的特点(在我看来,spring in action中文版第一版,ibatis in action中文版翻译的着实不怎么样,除此之外,像ajax in acton,ant in action,struts in acton 着实写的不错,当然还有jquery in action),笔墨清晰明了,有深有浅,建议学习EJB3的读者作为必备食粮!
  •       本书对EJB3学习者,帮助非常大。书中的最佳实践让人受益匪浅!原版英文书5星。
      中文翻译,个人觉得读起来比较通顺。但里面的翻译错误还是不少。虽然如此,对于EJB3 的学习,个人首推本书。
      
      以下是我发现的翻译错误:
      P33 第17行 <原文>那么无状态就特别有用 <改为>那么有状态就特别有用
      P36 倒数第7行 <原文>它和有状态bean相比没... <改为>它和无状态bean相比没...
      P68 中间的注释7 <原文>指定远程方法 <改为>指定删除方法
      P72 第2行 <原文>调用这些方法会立即触发bean消息操作 <改为>调用这些方法会立即触发bean摧毁操作
      P73 倒数第4行 <原文>beanName元素允许我们标识此业务接口 <改为>beanName元素允许我们标识此EJB
      P74 倒数第3行 <原文>功能就有些值得怀疑 <改为>功能就毫无怀疑
      P77 倒数第8行 <原文>大多数通信是异步的 <改为>大多数通信是同步的。
      
      以上翻译错误,是我在看书学习时,因为纳闷其意思,再去查英文原版,发现翻译出错。
      
      我继续看第4章。勘误会继续和大家分享。
      
      最后,本人再次强烈推荐 本书,作为 中文版EJB3的学习用书。因为,其英文版实在是太帅了。
  •     错误到处都是,真不知道印刷前是否经过校验。
    印刷问题也不少。真是糟蹋了一本好书!
  •     总体感觉很好,适合有一定使用经验的人员。
  •     这本书翻译的真的不好
  •     书海可得。纸张太差了吧。搞的不像正版似的。
  •     当当购书,到手看了开头,后面内容还不知道,不妄加评论。有读者反映纸张问题,我觉得纸张还不错。但是翻译质量,不能说好。翻译讲究“信,达,雅”。由于中英文的差异,有的时候即便译文的表达方式和原文差异较大,也要更准确地把原文的意境语意表达出来。例,第26页倒数第二段,描述“JNDI查找”方式,与“依赖注入”方式的区别:原文:“如你所见,在手工JNDI查找模型中,bean显示地检索它所需的资源和组件。其结果是组件和资源名称被硬编码到bean中。另一方面,容器通过依赖注入读取目标bean配置,判断目标bean需要什么bean和资源,然后在运行时把他们注入到此bean中...”此处原文目的是描述两种方式的区别,翻译有两处不妥,第一,“如你所见”,猜想原文应该是asyoucansee.更好的符合中文习惯的译法应该为:“如图所示”,或“如下图所示”。第二,“另一方面”这个词猜想原文大概是类似otherwise.此处愿意是指比较的对立面,是说另一种方法。此处翻译为“另一方面”,刚看到时,以为说的是JNDI的另一方面。所以恰当的翻译应该抛弃原文的说法,翻译为“而对于依赖注入来说...”所以,修改后的译文大概如下:如下图所示,在手工JNDI查找模型中,bean显示地检索它所需的资源和组件。其结果是组件和资源名称被硬编码到bean中。而对于依赖注入而言,容器通过依赖注入读取目标bean配置,判断目标bean需要什么bean和资源,然后在运行时把他们注入到此bean中...”翻译书稿应该是件很辛苦的事,要求对英文与专业有深入的了解,但对中文的驾轻就熟,也是不可忽略的因素。记得以为老师说过,翻译到后来不是外文的水平问题,而是母语水平问题。可惜近代在西学东渐与教育的唯利是图环境下,除中文专业外,大学语文早被取代。不好意思说这么多,不敢要求每句话都翻译的很到位,准确。只是希望越来约好,真正提供给国内读者精品译作。
  •     上学期间读过,但没系统看完。在当时可以算是最好的EJB3的书籍了
  •       书写的很好,很实用。个人觉得是介绍EJB3最好的一本书。 但翻译的实在是让我忍无可忍。看完中文版后,觉得是一个精神分裂的机器人翻译的……错误百出,很多名词的翻译都不正确,若果对EJB了解不深,本书中文版的错误极容易误导读者。建议参考英文版一起看
      
  •     发货挺及时的
  •     EJB3实战,还算是一本学习EJB不错的书,内容也比较通俗易懂,全力推荐该书给想学习EJB的朋友...
  •     19
  •     书本纸张太薄,薄的都不像正版书了。内容仔细阅读,不做评论。
  •     强烈推荐!透彻的讲述EJB3的新特性,深入浅出,值得!
  •     这本书还不错,内容比较适合初学者,并且也有很多思想!
  •     其实没必要学ejb特别是对于培训机构的学生和没有毕业自己学的有什么用呢?就会听培训的老师乱吹国内有几家公司有本事用EJB?就算真的有,轮不到你用~~
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024