[英]Can I @Inject a generic type?
這似乎不起作用:
@Inject
private MyBBean<OtherBBean> myBean;
嘗試這樣做是正確的還是錯誤的? 我收到此錯誤:
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [MyBBean<OtherBBean>] with qualifiers [@Default] at injection point [[field] @Inject private com.my.project.beans.jsf.BreakBBean.myBBean]
編輯:添加更多信息:
@Named(value="org")
@SessionScoped
public class OrgBBean extends MainViewBase<Org> implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private OtherBBean otherBBean;
}
@Named
@Dependent
public class OtherBBean extends OrgTabMemberBBean<Other> implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private MyBBean<OtherBBean> myBBean;
}
@Named
@Dependent
public class MyBBean <O extends EditableBase<? extends BaseEntity>> extends EditableTabListBBean<My, O> implements Serializable {
private static final long serialVersionUID = 1L;
}
在這里測試並正常工作。 您是否錯過了某些事情,例如忘記在MyBBean類中添加@Named
或在@SessionScoped
bean中使用它而MyBBean沒有實現Serializable?
編輯:您可以發布您的MyBBean代碼嗎?
我只是使用原始類型來解決此問題。 它可以工作,但是現在我必須小心使用它。
@Inject
private MyBBean myBBean;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.