如何在一个类里面得到ejb对象呢?
private Other other=new Other()这样得到的不是ejb对象,只是一个简单的JAVA对象
得到ejb对象的方法有两种:
一种是通过jndi的方法,通过查找的方式.
一种是通过注入的方式,通过注解来注入,这个注解就是@EJB
如@EJB Other other, 如果Other被两个类实现了呢?那么可以通过@EJB的属性(beanName)来指定,而那个ejb的名称默认就是类的简单名称,当然也是可以改的.
注入ejb:
@Stateless
@Remote (Injection.class)
public class InjectionBean implementsInjection {
@EJB(beanName="HelloBean") LocalHello helloworld;
publicString SayHello() {
return helloworld.SayHello("注入者");
}
}
@Resource注解可以注入一些服务性的东西.如数据源
注入数据源:
@Resource(mappedName = "java:/DefaultMySqlDS") DataSource myDb;
Connection conn = null;
try {
conn = myDb.getConnection();
Statementstmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECTstudentNameFROM student");
if (rs.next()) str = rs.getString(1); rs.close();
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
if(null!=conn && !conn.isClosed()) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}