EJB(二)图示EJB的"helloworld"

前序


    既然是菜菜的ejb,那么第二篇就是讲解如何来编写ejbhelloword了。helloworld是再熟悉也不过了,通过这样一个实例来熟悉和简单了解ejb程序从编写到部署和调用的简单过程。


开发环境


Jboss 5.0 GA版:http://jbossas.jboss.org/downloads.html

Myeclipse 10.0:http://www.myeclipseide.cn/

Jdk 1.6 :http://www.oracle.com/technetwork/java/javase/downloads/index.html


步骤

配置jboss环境


     当然如果用的是MyEclipse的话可以直接跳过这步即可;如果是纯净不带插件的eclipse,则需要配置相应的jboss-tools来配置jboss环境了。



Jboss toolshttp://tools.jboss.org/downloads/jbosstools/luna/4.2.0.Final.html#zips


jboss tools官网了提供了4种有关这个插件安装的方式(米国人民真是没的说啊).我用的是install new software ,将下面的链接键入即可。


http://download.jboss.org/jbosstools/updates/stable/luna/


最后在如下界面看到相应的sever即可。

 



配置jre 


直接在jboss 下面的jdk,配置到jdk的根目录即可。

 

新建ejb project


配置完毕jrejboss,新建ejb project

 

1.新建ejb project




目录结构说明:如上图中生成的目录结构中,ejbModule目录是编写JAVA源码的目录(即EJB代码);

build:则为编译后生成的文件;

JRE System Library、Java EE x Libraries:相应的运行环境。


EJBbean


对于bean,简单来理解就是一个带有业务逻辑处理的java类。而ejbbean就可以这样来理解,针对企业级开发的java类。首先来从大面上将这些概念给解决掉,后面在具体根据细节来探讨。


这里主要编写的是EJBbean,书写业务颗粒。

 

接口


code

package com.cfl.ejb;


public interface FirstEJB {
	public String sayHello(String str);
}


注:就是一个简单的接口,定义了一个用来输出字符串的方法。


实现

代码


package com.cfl.ejb;

import javax.ejb.Remote;
import javax.ejb.Stateless;

@Stateless
@Remote
public class FirstEJBBean implements FirstEJB {

	public String sayHello(String str) {
		// TODO Auto-generated method stub
		return str;
	}
}


注:一个再简单不过的实现


注解


定义ejb的种类和访问方式。

 

部署到jboss服务器


将相应的项目发布到jboss项目下即可


注意:ejb命名特殊符号,因为jboss对于ejb的命名很敏感。

 

客户端


查找ejb


代码

package com.cfl.ejbclient;

import javax.naming.InitialContext;
import javax.naming.NamingException;

import com.cfl.ejb.FirstEJB;




public class ejbclient {
	public static  void main(String[] args){
		
		try {
			InitialContext context =new InitialContext();
			FirstEJB firstEjb=(FirstEJB)context.lookup("FirstEJBBean/remote");
			String s=firstEjb.sayHello("helloworld");
			System.out.print(s);
		} catch (NamingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		
	}
}


其实context类似在之前抽象工厂,其实也就是抽象工厂模式的体现。来利用反射得到相应的类的实例。


Jndi.properties


        这里先不对sun的四种jndi进行分析,先知道这个是用来去查找相应的bean即可。

定义相应的jndi,生成jndi.properties,放在客户端的src的根目录下面。

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost


Jar放到jre环境中


打包jar


将生成的jar文件放到客户端的jre libraries里面



引入jboss clientjar


添加user libraries



导入jars


 


后序


    相当于一个简单的流程式的讲解,简单的通过的流程来感受一下ejb的使用。当然这里肯定是无法体味到ejb作为j2ee的核心这样一个用处的,后面继续。

posted @ 2014-11-23 01:27  陈方林  阅读(286)  评论(0编辑  收藏  举报