我有一个管理Bean:
public class CategoriaManagedBean {
@EJB
private CategoriaBeanLocal categoriaBean;
private Categoria categoria;
private List<Categoria> menu;
}
在我的构造函数中,我尝试:
public CategoriaManagedBean() {
menu = categoriaBean.findByIdCategoriaPadre(0);
}
但是我得到一个错误"不能创建类的实例",为什么我不能在构造函数中初始化属性?
我修复了这个问题:
@PostConstruct
public void init() {
menu = categoriaBean.findByIdCategoriaPadre(0);
}
但是我想知道原因,如果我做得很好@PostConstruct
问候。
使用@PostConstruct
是正确的方法。
ejb是在在ManagedBean上调用构造函数之后注入的。
这就是为什么有一个@PostConstruct
注释。
这是文档中的第一行:
PostConstruct注释用于需要在依赖注入完成后执行任何初始化的方法。