如何在一個類裏面得到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();
}
}