我希望在注射期間給CDI中的pojo豆提供行進範圍。注射期間CDI豆的範圍界限不起作用
我在Managed Bean的這樣的@javax.faces.bean.ViewScoped
創建一個普通的bean並注入一樣@javax.enterprise.context.ApplicationScoped
:
@Inject
@ApplicationScoped
Pojo pojo;
// POJO類
Class Pojo {
private String var;
public Pojo() {
}
public String getVar() {
return var;
}
public void setVar(String var) {
this.var = var;
}
}
POJO的bean的填充值無法還原在使用相同語法注入的新視圖bean中。
但它的工作原理,當我在類聲明中使用@ApplicationScoped
代替,其次是非範圍的注射,像這樣:
@ApplicationScoped
Class Pojo {
private String var;
注:
@Inject
Pojo pojo;
前一種情況得到解決,當我製作一個製作人和限定詞,但我覺得這將是一個我應該沒有的開銷。作爲CDI的新手,我想問一下我在這裏真正想念的是什麼。
可以理解。我一直在想,爲什麼在CDI中不能有一箇中性的注射豆,注射時可以有任何的範圍。我認爲要達到這個不同的範圍,我還需要修改我當前的擴展名(限定符和生產者),或者一個新的擴展名,用於不同的範圍。 – user2918640