[英]Factory returns Bean with EJB injected field Null
我有一個 Java 工廠類,其中包含一些返回一些 Java Bean 的方法。 所有這些 Java Bean 都有一些 DAO 對象作為字段,這些對象被注解 @EJB 注入。 然而,在每種情況下,這些 DAO 都是空的,所以我想我在 EJB 注入方面有問題。 我使用 WebLogic 進行部署。 有什么建議可以解決問題嗎?
//Factory class
public class Factory extends AbstractFactory {
@Override
public InterfaceService getService() {
return new ClassBean();
}
}
//Bean class
@Stateless(mappedName = "ClassBean")
@LocalBean
public class ClassBean implements IBeanService {
@EJB(beanName = "ClassDAO")
private ClassDAO classDAO;
public List<String> getList() throws ExpectedModelException {
return classDAO.getStringList(); //this one throws NullPointerException
}
永遠不要使用 new 創建 Enterprise-Beans。 創建、緩存、刪除……都是由容器完成的。
您必須將 ClassDao 聲明為 @Stateless 或 @Singleton,...並且容器將創建並找到它,希望名稱正確。 不需要工廠。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.