首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Maven2上第一个EJB3.0简单实例

2012-11-06 
Maven2下第一个EJB3.0简单实例??????? 首先是文件夹结构,由于使用的是Maven,所以文件夹布构都是固定的,若

Maven2下第一个EJB3.0简单实例

??????? 首先是文件夹结构,由于使用的是Maven,所以文件夹布构都是固定的,若你要问为什么,那你还得去了解一下Maven是啥,总得来说,就是让每一个人的每一个project都保持一致。。

ejb3test

??? |--pom.xml???????????????????????????????????????????????? //Maven项目根目录必须有这文件,主配置文件来的

??? |--src???????????????????????????????????????????????????????? //项目资源文件目录,所有代码,项目相关的都在这

??????? |--main????????????????????????????????????????????????? //主文件目录,与之相对应的是单元测试test目录

??????????? |--java?????????????????????????????????????????????? //JAVA文件目录,使之与图片,配置文件等隔离开来

??????????????? |--mydomain???????????????????????????????? //这下面就是你自己的东西,不一一介绍了

??????????????????? |--ejb3test

??????????????????????? |--HelloWorld.java

??????????????????????? |--HelloWorldBean.java

????????????|--resources????????????????????????????????????? //资源文件,像一些配置文件全放这,图片也放这

????????????|--webapp?????????????????????????????????????????//这目录不介绍了,玩过WEB的人都晓得

??????????????? |--WEB-INF

??????????????????? |--web.xml

??????????????? |--META-INF

????????|--test??????????????????????????????????????????????????? //单元测试目录,与主目录main相隔离

??????????? |--java?????????????????????????????????????????????? //下面这些目录与main里面的java目录一模一样,对应的

??????????????? |--mydomain

??????????????????? |--ejb3test

?

下面是整个pom文件,全贴出来了

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
??? <modelVersion>4.0.0</modelVersion>
??? <groupId>com.mydomain</groupId>
??? <artifactId>ejb3</artifactId>
??? <packaging>jar</packaging>
??? <version>1.0-SNAPSHOT</version>
??? <name>ejb3 Maven Webapp</name>
??? <url>http://maven.apache.org</url>
??? <dependencies>
??????? <dependency>
??????????? <groupId>junit</groupId>
??????????? <artifactId>junit</artifactId>
??????????? <version>3.8.1</version>
??????????? <scope>test</scope>
??????? </dependency>

?????? <!--就用下面一个包就可以做基本的ejb实例,实际上要用更多功能的话,还有其它一些包要导-->

?????? <!--比如要用entity bean功能的话-->
??????? <dependency>
??????????? <groupId>javax</groupId>
??????????? <artifactId>ejb</artifactId>
??????????? <version>3.x</version>
??????????? <scope>provided</scope>
??????? </dependency>
??? </dependencies>
??? <build>
??????? <finalName>ejb3</finalName>
??????? <plugins>
??????????? <plugin>
??????????????? <artifactId>maven-compiler-plugin</artifactId>
??????????????? <version>2.0.2</version>
??????????????? <configuration>
??????????????????? <source>1.5</source>
??????????????????? <target>1.5</target>
??????????????????? <encoding>UTF-8</encoding>
??????????????? </configuration>
??????????? </plugin>
??????????? <plugin>
??????????????? <artifactId>maven-resources-plugin</artifactId>
??????????????? <version>2.2</version>
??????????????? <configuration>
??????????????????? <encoding>UTF-8</encoding>
??????????????? </configuration>
??????????? </plugin>
??????? </plugins>
??? </build>
</project>

下面是HelloWorld.java与HelloWorldBean.java的源码


1、HelloWorld.java

package com.mydomain.ejb3test;

public interface HelloWorld
{
??? public String SayHello(String name);
}

2、HelloWorldBean.java

package com.mydomain.ejb3test;

@Stateless
@Remote ({HelloWorld.class})
public class HelloWorldBean implements HelloWorld
{
???
??? public HelloWorldBean()
??? {
???????
??? }

??? public String SayHello(String name)
??? {
??????? return name + "说:你好!世界,这是我的第一个EJB3实例哦!";
??? }
???
}

好了,现在运行maven生成jar吧,

mvn install?? (就一句命令,不懂又对maven感兴趣可以去找些资料来看)跟着根目录下就会自动生成一个target文件夹,里面就有一个ejb3.jar,把它复制到Jboss下的server->default->deploy目录下,跟着用命令行运行jboss目录下的bin/run.bat,就可以启动jboss了,注意JBOSS一定要jboss-4.2.0版本以上才支持EJB3的

?

deploy成功后,就写个java application进行测试吧

新建一个java application, 由于现在要写ejb3的客户端测试代码,并且因为我们用了jboss容器,所以得将jboss->client的一个jbossall-client.jar包导到java application项目里,然后写上以下代码

?

import com.mydomain.ejb3test.HelloWorld;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NamingException;


public class Main
{
??? public static void main(String[] args)
??? {
??????? Properties props = new Properties();
??????? props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
??????? props.setProperty("java.naming.provider.url", "localhost:1099");
??????? props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");


??????? try
??????? {
??????????? InitialContext ctx = new InitialContext(props);
???????????
??????????? HelloWorld helloWorld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");
???????????
??????????? System.out.println(helloWorld.SayHello("tester"));
??????? }
??????? catch (NamingException ex)
??????? {
??????????? ex.printStackTrace();
??????? }
??? }
}

?

如果整个过程顺利的话,运行此代码,你就应该可以输出以下文字了

tester说:你好!世界,这是我的第一个EJB3实例哦!

热点排行