EJB3.0高速入门项目开发步骤

EJB3.0开发步骤

1.   开发环境

IDE开发工具:Eclipse Java EE IDE for Web Developers

EJB容器:jboss-4.2.3.GA

后台数据库:MysQL5.1

2.   开发步骤

2.1   在Eclipse中配置jboss-4.2.3.GA

1.  点击小三角,选中New server

2.  选中JBOSS AS4.2

3.  点击ADD。进行JBOSS配置

4.  在Home Directory中。点击Browser选择JBOSS4.2的安装文件夹,在JRE中配置JRE的安装文件夹,点击finish

在finish。就可以完毕对JBOSS在Eclipse中的配置。

2.2   新建EJB3.0projecttitan

1.        右键->New->Project

2.        选择EJB Project->next

3.        Project  name为“titan”,Targetruntime选择配置好的JBOSS4.2,EJB module version选择3.0,然后finish。新的EJB3.0project创建成功。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenQ4NTI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

2.3   项目开发

2.3.1 开发Cabin实体Bean

package com.titan.domain;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.Table;

@Entity//告知persistence provider这是一个映射到数据的实体类,而且能够受管于EntityManager服务。

@Table(name="CABIN")//告知EJB容器。beanclass 应该被映射到哪一张数据库表。

public
class
Cabin implementsjava.io.Serializable{

/**

*

*/

private
staticfinal
long
serialVersionUID = 1L;

/**

*

*/

private
int
id;

private String
name;

private
int
deckLevel;

private
int
shipId;

private
int
bedCount;

@Id//表示CAbin实体的主键,主键标志是必须的

@Column(name="ID")//定义怎样将成员属性映射到数据库表CABIN中的字段。并不是是必须的

public
int
getId() {

return
id;

}

public
void
setId(int id) {

this.id =id;

}

@Column(name="NAME")

public String getName() {

return
name;

}

public
void
setName(String name) {

this.name =name;

}

@Column(name="DECK_LEVEL")

public
int
getDeckLevel() {

return
deckLevel;

}

public
void
setDeckLevel(int deckLevel) {

this.deckLevel= deckLevel;

}

@Column(name="SHIP_ID")

public
int
getShipId() {

returnshipId;

}

public
void
setShipId(int shipId) {

this.shipId= shipId;

}

@Column(name="BED_COUNT")

public
int
getBedCount() {

return
bedCount;

}

public
void
setBedCount(int bedCount) {

this.bedCount= bedCount;

}

}

2.3.2开发远程接口TravelAgentRemote

package com.titan.travelagent;

import javax.ejb.Remote;

import com.titan.domain.Cabin;

@Remote//表示这是一个远程接口

public
interface
TravelAgentRemote {

public
void
createCabin(Cabin cabin);

public Cabin findCabin(int id);

}

2.3.3开发远程接口的实现Bean类TravelAgentBean(StatelessBean)

package com.titan.travelagent;

import javax.ejb.Stateless;

import javax.persistence.EntityManager;

import javax.persistence.PersistenceContext;

import com.titan.domain.Cabin;

@Stateless//表示这是一个无状态sessionbean

public
class
TravelAgentBean implementsTravelAgentRemote {

//@PersistenceContext告知EJB容器,必须用一个EntityManager实例来设置manager数据成员。

@PersistenceContext(unitName="titan")
privateEntityManager
manager;

public
void
createCabin(Cabin cabin) {

// TODO Auto-generated method stub

manager.persist(cabin);

}

public Cabin findCabin(int id) {

// TODO Auto-generated method stub

return
manager.find(Cabin.class, id);

}

}

2.3.4在META-INF下创建文件persistence.xml文件

配置例如以下:

<?xml
version="1.0"encoding="UTF-8"
?>

<persistence
version="1.0"xmlns="http://java.sun.com/xml/ns/persistence"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/persistencehttp://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">

<persistence-unit
name="titan">

<jta-data-source>java:/titan</jta-data-source>

<properties>

<property
name="hibernate.hbm2ddl.auto"value="create-drop"/>

</properties>

</persistence-unit>

</persistence>

2.3.5在com.titan.clients包下开发客户端程序

packagecom.titan.clients;

importjavax.naming.InitialContext;

importjavax.naming.Context;

importjavax.naming.NamingException;

importjavax.rmi.PortableRemoteObject;

importcom.titan.domain.Cabin;

importcom.titan.travelagent.TravelAgentRemote;

importjava.util.Properties;

importjavax.rmi.PortableRemoteObject;

public classClient {

public static void main(String[]args){

try {

Context jndiContext=getInitialContext();

Objectref=jndiContext.lookup("TravelAgentBean/remote");

TravelAgentRemotedao=(TravelAgentRemote)

PortableRemoteObject.narrow(ref, TravelAgentRemote.class);

Cabin cabin_1=new Cabin();

cabin_1.setId(1);

cabin_1.setName("MasterSuite");

cabin_1.setDeckLevel(1);

cabin_1.setShipId(1);

cabin_1.setBedCount(3);

dao.createCabin(cabin_1);

Cabin cabin_2=dao.findCabin(1);

System.out.println(cabin_2.getId());

System.out.println(cabin_2.getName());

System.out.println(cabin_2.getShipId());

System.out.println(cabin_2.getDeckLevel());

System.out.println(cabin_2.getBedCount());

} catch (ClassCastException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (NamingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

private static Context getInitialContext()throws NamingException {

// TODO Auto-generated method stub

Properties p=new Properties();

//...制定专有EJB厂商的JNDI属性

p.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");

p.put(Context.PROVIDER_URL, "://localhost:1099");

return newjavax.naming.InitialContext(p);

}

}

至此项目的client开发完毕。

2.4   配置MySql的datasource

1.  将mysql-connector-java-5.1.16.jar包放置到JBOSS_HOME\server\default\lib文件夹下.

2.  将配置好的mysql-ds.xml放到JBOSS_HOME\server\default\deploy文件夹下。配置例如以下:

<?

xmlversion="1.0" encoding="UTF-8"?>

<datasources>

<local-tx-datasource>

<jndi-name>titan</jndi-name>

<connection-url>jdbc:mysql://192.168.9.85:3306/titan</connection-url>

<driver-class>com.mysql.jdbc.Driver</driver-class>

<user-name>root</user-name>

<password>root</password>

<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>

<metadata>

<type-mapping>mySQL</type-mapping>

</metadata>

</local-tx-datasource>

</datasources>

2.4.1创建数据库

1、创建数据库titan

2、创建数据表cabin

DROP TABLE IFEXISTS `cabin`;

CREATE TABLEcabin (

ID int(11) NOT NULL,

NAME varchar(255) DEFAULT NULL,

DECK_LEVEL int(11) DEFAULT NULL,

SHIP_ID int(11) DEFAULT NULL,

BED_COUNT int(11) DEFAULT NULL,

PRIMARY KEY (`ID`)

)

3.   执行

1.  将titanproject公布到JBOSS。启动JBOSS

2.  打开client程序。右键->Run As->Java Application

3.  在数据库里能够查询到对应的数据记录,在控制台中能够看到对应的查询结果。

时间: 2024-10-07 22:19:05

EJB3.0高速入门项目开发步骤的相关文章

EJB3.0快速入门

1.首先介绍运行环境及相关的配置: EJB的运行环境: JAVAEE应用服务器包含Web容器和EJB容器,EJB3.0应用需要运行在EJB容器里. Tomcat目前只是Web容器,它不能运行EJB应用. Jboss作为最常用EJB容器,其自身所带Web服务器部分就是直接使用Tomcat(Jboss的默认端口也为:8080). 相关配置: 1.配置classpath:%JDK安装目录%/lib/dt.jar和tools.jar 2.JDK版本需要1.5以上. 3.为Jboss设置Jboss_HOM

java中的命名规范,项目开发步骤

1. 项目名:没有要求,别中文 2. 包:公司域名倒写:com.igeek 3. 持久层:dao,persist,mepper 4. 实体类:entity,model,bean,javabean,pojo 5. 业务逻辑:service 6. 控制器:controller,servlet,action,web 7. 过滤器:filter 8. 异常:exception 9. 监听器:listener 10. 注释: 类和方法上使用文档注释:/**   */ 方法里使用/*   */  或者  /

Struts2入门项目开发小步骤

Step1: Struts2的获取和添加到项目中: 在官方网站:http://struts.apache.org 获取Struts的其中一个版本. 在开发项目之前,需要添加struts2的类库支持,也就是将下载解压后的struts的lib目录下的jar包添加到项目的claspath下.通常情况下,这些jar包文件不用全部添加,根据项目实际的开发需要进行添加即可.一般项目开发首先要添加的核心jar包(版本号可以不一样)有: commons-fileupload-1.3.2.jar.commons-

Android_app项目开发步骤总结

做了几个android企业应用项目后,总结了项目的基本开发步骤.希望可以交流. 一 应用规划: ※确定功能. ※必须的界面及界面跳转的流程. ※须要的数据及数据的来源及格式. ※是否须要服务端支持. ※是否须要本地数据库支持. ※是否须要特殊权限. ※是否须要后台服务. 二 架构设计: ※分层. ※网络连接. ※数据处理-xml.domain. ※封装Activity. 三 界面设计: ※主界面确定. ※模块界面.列表.查看.编辑界面. ※菜单.button.对话框.提示信息. ※界面整体颜色.

007.MVC项目开发步骤

项目出发点(需求) 注册 一.需求分析 用户 二.设计 三.实现(编码阶段): DBMy 1.实现数据库: Users 创建数据库,创建表,根据需要放入必要的初始测试数据 2.代码实现 步骤a.新建项目 ASP.NET MVC空模版 步骤b.写配置文件,设置连接串 步骤c.完成注册功能和加法的步骤类似,使用加法2的步骤 c.1> 创建模型Users,编译 [实体类 和数据库中表基本对应] c.2> 创建控制器Users [控制器-名词] 创建方法(注册)方法名Register [本功能是否是:

项目开发步骤

1.需求分析 2.设计   (最重要的步骤) 3.编写 4.测试 5.使用 6.维护 -------------------------------------------------更新与2015/12/06--------------------------------------------------------------------------------

使用vue2.0创建的项目的步骤

1.由于vue项目依赖 node.js npm 需要先安装.   若没有请先安装,请百度 //检查是否有node.js  npm vue win+r   输入cmd  输入node -v  回车 会出现node,js的版本 输入npm -v  回车 会出现npm的版本 输入vue -V 回车 会出现vue的版本 2.安装vue: [plain] view plain copy npm install -g vue-cli //-g表示全局安装,vue-cli是模块,全局安装的模块可以在命令行直接

基本项目开发流程

项目开发步骤 背景 系统分析 需求分析 功能分析 系统设计 1. 绘制用例图设计功能 2.绘制系统流程图 系统演示 开发工具和开发的技术选择 规定文件夹组织结构和编码规范 数据库分析与设计 1.数据库分析 2.概念设计 er图 代码中的公共类的设计 开始编码 测试 测试编写好的系统.交给用户使用,用户使用后一个一个的确认每个功能.软件测试有很多种:按照测试执行方,可以分为内部测试和外部测试:按照测试范围,可以分为模块测试和整体联调:按照测试条件,可以分为正常操作情况测试和异常情况测试:按照测试的

Extjs5.0从入门到实战开发信息管理系统(Extjs基础、Extjs5新特性、Spring、Spring mvc、Mybatis)视频教程

Extjs5.0从入门到实战开发信息管理系统(Extjs基础.Extjs5新特性.Spring.Spring mvc.Mybatis)视频教程下载   联系QQ:1026270010 Extjs作为一款优秀的JS前端开发框架以其良好的架构.丰富的UI组件库.完善的文档和社区支持等诸多优点拥有广泛的市场应用空间,开发人员无需过多的关注HTML.CSS甚至各种常用JS算法,只需把精力放在业务逻辑上,利用各种组件的相互组合调用便可轻松而高效的开发出系统的前端页面. Extjs5在之前版本的基础上又推出