`
Gavin.Chen
  • 浏览: 323049 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

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实例哦!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics