我正在使用 EJB 3.1 和球衣作为 restapi。我想要一个SuperResource
如下,然后由下面的实际剩余资源继承。我现在拥有它的方式,我的@EJB
对象是空的。有谁知道如何解决这一问题?
@Stateless
public class SuperResource {
@EJB
protected GenericDao<DomainObject> dao;
. . .
}
public class MyResource extends SuperResource{
public String doGet(){
return dao.get(...);
}
}
@Stateless
我已经尝试了and@Local
和SuperResource
and之间的整个真值表MyResource
。这些排列似乎都不起作用。
我不知道这是否重要,我的服务器是 Glassfish 3.1.2
编辑添加细节:
我不这么认为,但似乎这里可能需要更多细节:
我的应用程序的结构:
@Local
public interface GenericDao<T extends DomainObject> {…}
public interface LoginDao extends GenericDao<Login>{...}
@Stateless
public class GenericDaoImpl<T extends DomainObject> implements GenericDao<T> {…}
@Stateless
public class LoginDaoImpl extends GenericDaoImpl<Login> implements LoginDao {…}
@Entity
public class Login implements java.io.Serializable, DomainObject {…}
什么有效:
@Stateless
@Path("mypath")
public class MyResource{
@EJB
private LoginDao dao;
public String doGet(){
return dao.get(...);
}
}