EJB3.0学习笔记---第一个EJB程序:
第一个EJB程序:
开发服务端程序:
1.新建一个EJB project:EJBTest_01
2.在src下建包:com.credream.ejb
3.写接口:FirstEjb.java
package com.credream.ejb;
public interface FirstEjb {
/**
*1. EJB中需要一个接口
* @param name
* @return
*/
public String saySomething(String name);
}
4.写接口的实现类:FirstEjbBean.java
package com.credream.ejb;
import javax.ejb.Remote;
import javax.ejb.Stateless;
//3.添加配置
@Stateless
@Remote
//2.实现类
public class FirstEjbBean implements FirstEjb {
/**
* 注意在EJB中,通常是以...Bean表示实现类类
*/
public String saySomething(String name) {
return "hello"+name;
}
}
--------------------------------------------------------------------
开发客户端程序:
1.客户端是一个java项目,新建javaProject:EJBTest01_client
2.将服务器端的接口打包:方法:在FirstEjb上右键选择--export--java中的
jar--选择保存在EJBTest01_client目录下,并且命名为:EJBTest_01.jar
3.将这个jar包,加入到这个javaproject的类路径中;
4.这个接口就是在客户端和服务器端建立一个关系;
5.将JBOSS安装目录下的client目录里面的所有jar包,加入到客户端项目中
6.JNDI:JNDI(Java Naming and Directory Interface,Java命名和目录接口)
是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联
系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,在这种
服务里,对象不但有名称,还有属性。
----------------------------------------------------
7.编写客户端代码:
FirstEjbClient.java
package com.credream.ejb;
import javax.naming.InitialContext;
public class FirstEjbClient {
public static void main(String[] args) throws Exception{
InitialContext context=new InitialContext();
FirstEjb firstEjb=(FirstEjb) context.lookup("FirstEjbBean/remote");
String string=firstEjb.saySomething("张三");
System.out.println(string);
/**
调用服务端的接口的实现类FirstEjbBean
这项也可以在EJB启动的日志里得到:
23:20:01,637 INFO [EJBContainer] STARTED EJB:
com.credream.ejb.FirstEjbBean ejbName: FirstEjbBean
FirstEjbBean/remote:这里前面是接口实现类的名字,后面是调用方式;
*/
}
}
--------------------------------------------------------------
8.配置JNDI:
a.JNDI:就像一个工厂,可以找到具体的实现类在哪里;
b.在src类路径下建立:jndi.properties
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost
EJB3.0学习笔记---第一个EJB程序:相关推荐
- EJB3.0学习笔记--第一个EJB程序:
第一个EJB程序: 开发服务端程序: 1.新建一个EJB project:EJBTest_01 2.在src下建包:com.credream.ejb 3.写接口:FirstEjb.java pac ...
- EJB3.0学习笔记---MDB--第一个MDBBean程序:
第一个MDBBean程序: P2P方式传递消息: 1.创建EJB项目:EJBTestP2P_05 2.在com.credream.ejb包下: MyQueueMDBBean.java package ...
- EJB3.0学习笔记---MDBbean--区分P2P模式和Pub/Sub模式的示例
1.注意在写MDB程序的时候,如果是使用的P2P方式的话,可能你写了多个同样的MDBbean,但是 只会有一个MDBbean被调用,至于是哪一个被调用是随机的,这时候其他的将不会起作用; 一个消息 ...
- mybatis学习笔记-02-第一个mybatis程序
该视频为狂神说java视频配套笔记(博主自己手打223,日后做个参考223),b站连接:Mybatis最新完整教程IDEA版[通俗易懂]-02-第一个mybatis程序) 文章目录 2.第一个myba ...
- EJB3.0学习笔记---多接口的时,实现类处理方法:
EJB学习笔记--- 1.胖客户端:指的是定义的接口太多了,接口做的工作太多; 胖接口: 2.EJB实现类型的定义,用注解的方式,当一个EJBbean,实现了多个接口的时候, 需要用注解的方式指明哪一 ...
- EJB3.0学习笔记---定义客户端访问接口:
定义客户端访问接口: 1.回顾:有状态的EJB每次都是一个新的,可以区分客户端状态,无状态的EJB可 以看成是单例的 2.客户端仅通过业务逻辑Bean所定义的接口来访问业务逻辑(跟具体实现无关) 3. ...
- python的GUI编程和tkinter学习笔记——第一个GUI程序
一.第一个GUI程序 from tkinter import * from tkinter import messagebox# 创建窗口 root = Tk()btn01 = Button(root ...
- EJB3.0学习笔记-----Stateful Session Bean的原理
和Http Session十分的类似: EJB服务器返回的是一个实现了FirstEjb接口的一个代理对象. EJB池中有很多对象;一个EJB可能有多个对象,和Session对象一样,多个对 ...
- OpenCV学习笔记--第一个OpenCV程序:图片读写显示
配置使用OpenCV库 在上节中我们已经生成了可用于VS2015或者QT5 with MinGW开发的OpenCV库,接下来我们写一个简单的程序测试一下. 因为我电脑上装了QT而没有装VS2015,所 ...
最新文章
- java 增强for循环(foreach)
- PCB差分走线的阻抗控制技术(一)
- Ubuntu 11.04解决txt文档中文乱码方法
- C++函数调用方式(_stdcall, _pascal, _cdecl...)总结 收藏
- Pixhawk原生固件PX4之位姿控制算法解读
- c语言简答程序源代码,C语言简答题答案
- Adtran加入SDN大潮,剑指运营商SDN转型
- [转载] 【Python】向json文件中追加新的对象
- 产品类别二级分类_医疗器械分类目录未来可能实施动态调整
- KaTeX数学公式语法
- 微信小程序下载Excel到本地
- ip地址查询 免费 接口 linux 外网地址查询
- 【转】ADW_Launcher
- JS网页特效实例:动态关闭页面
- SEAndroid安全机制中的文件安全上下文关联分析
- Java 水洼问题 dfs
- EIGRP理论详解及基础实验
- Replicator简介
- 视频播放器的html代码(二)
- 红帽8搭建httpd