日期:2014-05-16 浏览次数:20393 次
在本文中,作者使用 Eclipse 开发了一个简单的应用,演示了使用 Spring 集成 Java EE 5 核心框架 - EJB 3.0 和 JSF 1.2 的过程。您将看到,Spring 使得访问和实现 EJB 更加方便。
Java EE 5.0 的核心框架是 EJB(Enterprise JavaBeans)3.0 和 JSF(JavaServerFaces)1.2 。 EJB 3.0 是一个基于 POJO(Plain Old Java Objects) 的服务端业务服务和数据库持久化的组件模型。 JSF 是一个基于 MVC(Model-View-Controller) 的 Web 应用框架。大多数的应用都将包含有业务逻辑的 EJB3 组件和用于 Web 应用前端显示的 JSF 组件。从表面上看,EJB3 和 JSF 互补,但是他们是根据各自的理念设计的独立的框架,这二者都无法独自解决所有的计算问题。例如,EJB3 使用注解(annotation)来配置服务,而 JSF 使用的是 XML 文件。 EJB3 和 JSF 组件在框架层面上是互不敏感,最好结合使用。但是 Java EE 5 规范并没有提供如何整合这两个组件模型的标准方法。要整合 EJB3 和 JSF,开发者必须手动地将业务组件(EJB) 与 Web 组件(JSF) 联结起来,以便能跨框架调用方法。
Spring 作为一个轻量级的容器,常被认为是 EJB 的替代品,对于很多应用情况,采用 Spring 作为容器,并借助它对事务和 ORM 等的支持,是一种比采用 EJB 容器以实现同样功能的另一个选择。但也不是使用了 Spring 就不能使用 EJB 了。实际上,Spring 使得访问和实现 EJB 更加方便。 Spring 分别提供了集成 JSF 和 EJB 的方法。本文将使用 Eclipse 开发一个示例来演示这个过程。
|
?
本文的示例实现了对产品信息的增删改查等基本操作。只用到了一个域模型:Product,下面是它的 UML 图:
|
?
本文的开发平台采用的是 Windows Vista 操作系统,因此以下的环境设置都是针 WindowsVista 操作系统的。
点击 Next 选择 Generate Deployment Descriptor,点击完成。
|
?
点击 Next,选择默认,点击完成。
<?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="simpleJPA"> <!-- 使用JBoss默认的数据源 --> <jta-data-source>java:/DefaultDS</jta-data-source> <properties> <!-- 使用Hibernate的hbm2ddl工具在启动时生成表结构 --> <property name="hibernate.hbm2ddl.auto" value="update"/> <!-- 显示最终执行的SQL --> <property name="hibernate.show_sql" value="true" /> <!-- 格式化显示的SQL --> <property name="hibernate.format_sql" value="true" /> </properties> </persistence-unit> </persistence>?
persistence-unit 节点可以有一个或多个,每个 persistence-unit 节点定义了持久化内容名称、使用的数据源及持久化产品专有属性。 name 属性定义了 persistence-unit 的名称,该属性是必需的,本例设置的名称为“ simpleJPA
”。
在 JavaEE 环境中的默认的事务是 JTA,而在 JavaSE 环境