编写步骤
1.编写业务接口代码,Bean类。
2.编译步骤1开发的代码。
3.提供部署描述符。
4.将2,3,步骤的产物打包。
5.部署并测试。
1.2.2示例
下面是业务接口代码:
package com.lemon.session.stateless;
/**
* HelloWorld业务接口
* @author Tess
*
*/
public interface HelloWorld {
public String sayHello(String name);
}
怎么样,是不是很简单啊?
我们的Bean类是一个POJO,
它仅仅实现了上面定义的业务接口:
package com.lemon.session.stateless;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import org.jboss.annotation.ejb.RemoteBinding;
/**
* 无状态会话bean,实现类的命名规则是:接口+Bean
* @author Tess
*
*/
@Stateless
//定义远程接口
@Remote(HelloWorld.class)
@RemoteBinding(jndiBinding="HelloWorldBean/Remote")
public class HelloWorldBean implements HelloWorld {
@Override
public String sayHello(String name) {
System.out.println("called sayHello()method!");
return name+" said:this is my first EJB program";
}
}
HelloWorldBean.java 使用了一些EJB的注解:
@Stateless:该注解将Bean类声明为无状态会话Bean
@Remote:提供了EJB组件的远程客户视图
@RemoteBilling:在容器环境中定义JNDI名称
1.2.3部署及测试
将上述代码打成helloworld.jar,并将其放到%jboss_home%\server\default\deploy目录下。
并启动jboss,启动完成后,即可测试,测试代码如下:
package com.lemon.test;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import org.junit.Before;
import org.junit.Test;
import com.lemon.session.stateless.HelloWorld;
import com.lemon.session.stateless.HelloWorldBean;
public class TestMain {
private Properties props = new Properties();
@Before
public void init(){
//设置JNDI链接工厂
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
//设置命名服务器的URL
props.setProperty("java.naming.provider.url", "localhost:1099");
}
@Test
public void test(){
Context ctx;
try {
ctx = new InitialContext(props);
HelloWorld helloBean=(HelloWorld) ctx.lookup("HelloWorldBean/Remote");
System.out.println(helloBean.sayHello("yanan"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
黎活明老师的这本书《EJB3.0》是国内首部全面解析EJB 3.0技术的专业著作,旨在帮助读者深入理解这一核心技术。 ### 1. EJB 3.0的核心概念 - **实体Bean(Entity Beans)**:EJB 3.0中的实体Bean不再需要编写复杂的...
在EJB3.0的第一个"Hello, World"项目中,我们将学习如何创建和配置一个简单的EJB组件。首先,我们需要了解EJB的基本概念。EJB分为三种类型:会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean...
EJB3.0是EJB规范的一个重大版本升级,引入了许多简化开发过程的新特性。 **1.2 EJB的运行环境** EJB组件需要部署在一个容器中运行,这个容器通常是应用服务器的一部分,例如JBoss、WebLogic或GlassFish等。容器...
**ejb3.0 第2,3讲 - 开发第一个无状态会话bean和客户端** 在Java企业版(Java EE)中,Enterprise JavaBeans(EJB)是用于构建可扩展、安全和事务处理的服务器端应用程序的核心组件。EJB 3.0是一个重要的版本,它极...
3. **ejb3.0-1.pdf** - 这可能是EJB 3.0的特定部分或专题教程,比如可能专门讲解新的JPA(Java Persistence API)或者EJB 3.0的容器服务,如依赖注入、声明式事务管理等。 4. **EJB3.rar** - 这个RAR文件可能包含源...
### 第一章 前言 1.1 本教程适合人群 本教程主要面向已经具备Java基础知识的初学者,特别是对Java EE感兴趣的开发者。EJB3.0的学习者应该熟悉Java编程,理解面向对象的概念,并对分布式计算有一定的了解。本教程将...
根据提供的文件信息,我们可以推断出这是一本关于EJB 3.0的书籍,书名为《Manning EJB3.0 in action》。虽然标题和描述中的故事似乎与EJB 3.0无关,但从部分内容来看,这本书显然是专注于EJB 3.0的技术细节及其在...
这个“第三次上机作业”可能是实验或项目的一部分,它可能包含了实现EJB3.0一对多关系的具体代码和配置文件。文件中可能包括了实体类、会话Bean以及相应的XML配置文件(如果有的话)。通过分析这些文件,可以深入...
《精通EJB 3.0第四版》是针对企业级JavaBeans(Enterprise JavaBeans,简称EJB)技术的一本深入指南,特别关注EJB 3.0版本的特性与实践。EJB是Java平台企业版(Java EE)的核心组件之一,用于构建可扩展、安全且事务...
**企业级JavaBeans(EJB)3.0第五版**是Java平台上用于构建可扩展、安全和事务处理的服务器端应用程序的重要技术。EJB规范旨在简化开发过程,提高生产力,并提供一套标准的服务,如持久性、分布式计算和安全性,使得...
例如,无状态会话Bean在第一次请求时被创建,之后的请求会被同一个实例服务,直到容器决定回收该实例。 **4. 事务管理** EJB 3.0支持声明式事务管理,开发者可以通过`@TransactionAttribute`注解来指定事务的属性...
EJB3.0是一个重大改进,它引入了简化开发、增强生产力的特性,使得Java EE应用程序的开发变得更加容易。 **1. EJB3.0简介** EJB3.0是EJB规范的第三个主要版本,其目标是降低开发复杂性,提高开发者效率。这一版本...
### 第一章:EJB 3.0概述 本章将全面介绍EJB 3.0的新特性,包括但不限于注解、容器管理的持久化、轻量级事务管理和消息驱动bean的简化。通过对这些新特性的讲解,读者可以理解EJB 3.0如何简化了企业级应用的开发...
2. **创建第一个EJB**:通过一个简单的例子,展示如何使用注解创建一个无状态Session Bean,并进行调用。 3. **实体Bean与JPA**:讲解如何定义实体类,配置JPA,以及如何进行CRUD(创建、读取、更新、删除)操作。 ...
### 第一章:前言 1.1 **本教程适合人群** EJB 3.0 实例教程适用于对 Java EE 开发有兴趣的开发者,尤其是那些希望了解如何使用 EJB 来构建企业级应用的新手。它也适合有经验的 Java 开发者,他们可能已经熟悉...
在"手把手教你开发ejb3.0第一章"中,我们将深入探讨EJB 3.0的基础知识和核心概念。 1. **EJB 3.0概述** - **简化API**:EJB 3.0引入了注解(Annotations),大大减少了XML配置,使得部署和开发更简单。 - **实体...