我的印象是 CDI 不适用于具有@javax.faces.component.FacesComponent
. 这是真的?
这是我的例子,这不起作用。MyInjectableClass
在代码中注入不是问题的其他点使用,所以它必须是关于我认为的注释@FacesComponent
。
我要注入的类:
@Named
@Stateful
public class MyInjectableClass implements Serializable {
private static final long serialVersionUID = 4556482219775071397L;
}
使用该类的组件;
@FacesComponent(value = "mycomponents.mytag")
public class MyComponent extends UIComponentBase implements Serializable {
private static final long serialVersionUID = -5656806814384095309L;
@Inject
protected MyInjectableClass injectedInstance;
@Override
public void encodeBegin(FacesContext context) throws IOException {
/* injectedInstance is null here */
}
}