第4章 无需 ejb3 的seam.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 无需 ejb3 的seam

第4 章 无需EJB3的Seam JBoss Seam 的最初设计理念是基于Java EE 5.0 之上的一个框架,成为连接JSF 和EJB3 的桥梁。然而,Seam 具有高度的灵活性,它本身也是一个独立完备的系统。也就是说,事 实上Seam 并不严格依赖于JSF 或EJB3 。在Seam 中,任何一个具有@Name 注解的POJO 对象都可以转化成为托管组件。因此,仅仅通过POJO 对象就可以构建 Seam 应用程序, 并且这种Seam 应用程序不但可以部署在J2EE 1.4 版本的应用服务器之上,而且可以部署 在普通的Tomcat 服务器之上。 在本章中将对betterjsf 示例进行修改,使用POJO 对象而不是EJB 会话bean 来处理数 据访问和业务逻辑,修改之后的示例更名为hellojpa 。与betterjsf 相比,hellojpa 显然更为 简单,对运行时基础设施的要求也更少。然而,仅使用POJO 而不使用 EJB3 也会带来一 些折中。本章最后将就这些折中进行讨论。 4.1 仅使用POJO 的Seam 应用程序示例 Seam POJO 组件比相应的EJB3 会话bean 更为简单。因为它不需要实现任何接口,只 需要给POJO 对象添加一个@Name 注解,以赋予该POJO 对象一个名称。 @Name(manager) public class ManagerPojo { } 本书前面已经讨论过,@PersistenceContext 注解使得EJB3 容器可以注入一个EntityManager 对象。既然现在已经不再需要EJB3 容器,那么只需要使用Seam 的@In 注解注入一个Seam 托管的JPA 对象EntityManager 即可,其工作方式与EJB3 容器托管的EntityManager 的工 作方式相同。下面就是ManagerPojo 类的完整代码: 44 第Ⅰ部分 Seam 入门 @Name(manager) public class ManagerPojo { @Out private List Person fans; @In private EntityManager em; public void sayHello (Person p) { em.persist (p); fans = em.createQuery(select p from Person p).getResultList(); } } 4.2 配置 如果希望在没有EJB3 容器的情况下部署一个应用程序,那么就需要对Seam 进行必要 的配置,以接管原本由EJB3 容器处理的一些必不可少的服务。本节将演示如何配置hellojpa 这个POJO 应用程序示例,以便将其部署到与J2EE 1.4 兼容的JBoss 应用服务器和普通的 Tomcat 服务器之上。 在此关注的是betterjsf 应用程序示例(使用EJB3 会话bean)和hellojpa 应用程序示例(使 用POJO 对象)在配置上的差别。在理解了这些差别之后,开发人员就可以据此对使用会话 bean 的EJB3 应用程序及其配置进行修改,以便将其转换为使用POJO 对象的应用程序, 并能够部署到J2EE 服务器之上。 首先,开发人员需要建立一个适用于非EJB3 环境的持久化上下文和EntityManager 。 在persistence.xml 文件(位于app.jar/META-INF/ 目录) 中,开发人员必须指定一个缓存提供程 序,以及一个能够查找事务管理器的机制。这些原本都是由EJB3 容器自动提供给会话bean 的服务,但是现在使用的是POJO 对象,没有用到EJB3 容器。下面就是适用于部署到JBoss 应用服务器的persistence.xml 示例文件。通过查找JBoss JTA 事务管理器,就可以使用Seam 托管的EntityManager 。 persistence

文档评论(0)

maxmin + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档