}
然后创建会话Bean : UserBean
[java]
package dev.bean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import dev.entity.*;
@Stateless
public class UserBean implements UserBeanRemote {
@PersistenceContext(unitName = "entity")
private EntityManager manager;
public void createUser(User user) {
manager.persist(user);
}
public User getUser(int id) {
return manager.find(User.class, id);
}
}
package dev.bean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import dev.entity.*;
@Stateless
public class UserBean implements UserBeanRemote {
@PersistenceContext(unitName = "entity")
private EntityManager manager;
public void createUser(User user) {
manager.persist(user);
}
public User getUser(int id) {
return manager.find(User.class, id);
}
}
至此 Bean开发完毕。
三、部署 EJB
Eclipse中,在项目名上右击,选择 Export. 在弹出的向导中选择 EJB JAR file. 然后按照提示即可完成部署。
四、编写测试代码
[java]
public class Client {
public static void main(String[] args) {
try {
Context context = initContext();
UserBeanRemote ubr = (UserBeanRemote)context.lookup("UserBean/remote");
User user = new User();
user.setId(4);
user.setName("bruce lee");
user.setPwd("123456");
ubr.createUser(user);
/*User user = (User)ubr.getUser(2);
System.out.println(user.getName());*/
System.out.println("success!");
}
catch (Exception ex) {
ex.printStackTrace();
}
}
/*
* 这一部分是写死的
* 固定写法
*/
public static Context initContext() throws javax.naming.NamingException {
Properties prop = new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
prop.put(Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");
prop.put(Context.PROVIDER_URL, "jnp://localhost:1099");
return new javax.naming.InitialContext(prop);
}
}
public class Client {
public static void main(String[] args) {
try {
Context context = initContext();
UserBeanRemote ubr = (UserBeanRemote)context.lookup("UserBean/remote");
User user = new User();
user.setId(4);
user.setName("bruce lee");
user.setPwd("123456");
ubr.createUser(user);
/*User user = (User)ubr.getUser(2);
System.out.println(user.getName());*/
System.out.println("success!");
}
catch (Exception ex) {
ex.printStackTrace();
}
}
/*
* 这一部分是写死的
* 固定写法
*/
public static Context initContext() throws javax.naming.NamingException {
Properties prop = new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
prop.put(Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");
prop.put(Context.PROVIDER_URL, "jnp://localhost:1099");
return new javax.naming.InitialContext(prop);
}
}
至此一个简单的EJB3已经开发完成。