EJB的复杂性使之在J2EE架构中的表现一直不是很好。EJB大概是J2EE架构中唯一一个没有兑现其能够简单开发并提高生产力的组建。EJB3.0规范正尝试在这方面作出努力以减轻其开发的复杂性。EJB3.0减轻了开发人员进行底层开发的工作量,它取消或最小化了很多(以前这些是必须实现)回调方法的实现,并且降低了实体Bean及O/R映射模型的复杂性。
EJB3.0中两个重要的变更分别是:使用了Java5中的程序注释工具和基于Hibernate的O/R映射模型。我们先来试试吧,感受一下:
首先创建一个名为HelloEJB的Java 工程,在工程的Library选项中添加外部Jar,将jboss-ejb3x.jar添加到工程中来,单击完成
给工程添加一个接口文件 FirstEJB.java,详细代码如下:
package com.ejb;
public interface FirstEjb {
public String hello();
}
保存。
再添加一个类文件,FirstBean.java并实现刚创建的接口,具体代码如下:
package com.ejb;
import javax.ejb.*;
@Stateless
@Remote({FirstEjb.class})
public class FirstBean implements FirstEjb {
public String hello() {
return "hello";
}
}
在这个文件中,我们导入了javax.ejb.*,并且添加了两行特殊的注释,
@Stateless 表示这是一个无状态的会话Bean
@Remote({FirstEjb.class}) 表示Bean的远程接口是FirstEJB.class
一个简单的EJB我们就创建完成了,下面我们进行打包成Jar文件,
点击File-Export,选择Java -jar file,点击Next ,只选择导出Class文件即可,选择保存Jar文件名本例取名为TestEjb.jar,保存路径,点击完成就好了。
下面我们创建一个测试工程,创建一个Web工程,名为:MyTestEjb,工程创建完毕后,要将在EJB工程中的接口类复制到此Web工程的src目录中(包含Java包),这是为了测试方便,在实际使用中无太多意义。然后再创建一个Jsp文件,名为MyJsp.jsp,页面具体代码如下:
<%@ page c%>
<%@ page import="com.ejb.*, javax.naming.*, java.util.Properties"%>
<jsp:directive.page import="java.util.Hashtable"/>
<%
Hashtable<String,String> prop=new Hashtable<String,String>();
prop.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
prop.put("java.naming.provider.url", "localhost:1099");
prop.put("java.naming.factory.url.pkgs", "org.jboss.naming");
InitialContext ctx;
try {
//初始化环境
ctx = new InitialContext(prop);
//根据JNDI的名字,查找EJB ,此JNDI名字命名格式为:Remote接口名/remote
FirstEjb helloworld = (FirstEjb) ctx.lookup("FirstBean/remote");
out.println(helloworld.hello());
} catch (NamingException e) {
out.println(e.getMessage());
}
%>
保存 后,即可将此Web应用打包布署
点击File-Export 选择导出WAR文件,保存文件名为:MyTestEjb.war点击完成。
下面就剩最后要布署到JBoss上了,将EJB的打包文件TestEjb.jar及测试Web工程的打包布署文件MyTestEjb.war,一起复制到Jboss安装目录下的\server\default\deploy 目录下。
分享到:
相关推荐
EJB3.0实体的注解规范主要涵盖了Java企业版(Java EE)中实体Bean的定义方式,这一规范也适用于Java Persistence API (JPA),并且整合了Hibernate的特有扩展。在EJB3.0中,实体Bean被设计为简单的Plain Old Java ...
1. **JDK 5.0**: 这是EJB 3.0开发的基础,确保从官方站点(www.java.sun.com)获取最新版本的JDK,并按照指南进行安装。注意避免在Program Files目录下安装,以防止路径名中的空格引起问题。 2. **Eclipse 3.2.x**:...
以上步骤详尽地介绍了如何整合JBoss Seam与Eclipse,并配置Oracle数据库连接的过程。遵循这些步骤,开发者可以顺利地在Eclipse环境下使用Seam框架进行Java EE应用的开发,同时利用Oracle数据库的强大功能,为应用...
3. **EJB 开发工具**:支持 EJB3.0,可以从数据库模式直接生成实体 Bean,与数据库建模工具如 PowerDesigner 配合使用。 4. **应用程序服务器连接器**:无缝对接多种应用服务器,如 Tomcat、JBOSS、WebLogic 等,...
- JBoss Tools3.3提供在Eclipse中为JBoss应用服务器定制的开发工具。 - Maven3作为一个项目管理和构建自动化工具,广泛用于JBoss Seam项目。 - Tomcat7支持Servlet 3.0规范,与Seam框架兼容。 6. JSF2: - JSF2...
它通过整合多种技术如JSF、EJB 3.0等,提供了一种更为高效、简洁的方式来构建复杂的业务逻辑。Seam的目标是降低开发复杂度,提高开发效率,并确保应用的可维护性和扩展性。 #### 第一章:Seam入门 本章主要介绍...
JBoss Seam是一款开源的企业级Java框架,它结合了模型-视图-控制器(MVC)模式、依赖注入(DI)和企业JavaBeans(EJB)3.0规范,旨在简化Java EE应用程序的开发过程。Seam的主要目标是将前端界面、业务逻辑和持久层...
4. 掌握使用EJB3.0 QL进行参数查询。 **第三部分:框架** 框架是提高开发效率的关键,主要包括SSH(Struts、Spring、Hibernate)框架。学员需: 1. 理解事务与并发的概念,如悲观锁和乐观锁。 2. 精通SSH整合,包括...
Seam将JSF、EJB 3.0、JPA、JSTL等技术整合在一起,提供了丰富的组件库和实用工具,使开发者能够更加高效地构建和维护复杂的Web应用。 ### 安装与设置 在开始使用Seam之前,首先需要确保系统中已安装Java 6或更高...
EJB3.0之后,简化了开发流程,引入了注解等轻量级方式,降低了开发难度。 6. IoC和依赖注入: Inversion of Control(IoC)是一种设计原则,它在运行时将对象间的依赖关系逆转,通过控制反转容器来管理这些依赖关系...
#### EJB 3.0 **JBOSS简介** - **概述**:JBOSS是一个开源的应用服务器,支持Java EE规范。 **RMI-IIOP简介** - **概念**:Remote Method Invocation - Internet Inter-ORB Protocol,用于实现远程对象的调用。 ...