簡體   English   中英

我可以@Inject泛型類型嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM