JSF生命周期之外的ManagedBean注入

时间:2019-05-16 13:25:59

标签: jsf managed-bean

我想知道我采用的方法是否正确,在这种情况下如何解决以下因果关系。

我有一个ManagedBean应用程序,用于与BD的NOSQL连接的分布式访问,还有一个DAO,它负责管理连接及其维护(这里注入了@ManagedProperty bean)。

当调用dao获得NOSQL连接时,会出现问题,当创建新的(...)时,由于未初始化bean,因此需要在JSF的生命周期内对其进行初始化。

什么是正确的方法?

@ApplicationScoped
@ManagedBean
public class FactoriaMongoDAO extends FactoriaDAO {

    @ManagedProperty(value = "#{mongoConnector.client}")
    MongoClient mongoClient;
public class xx{
 FactoriaDAO.getInstancia().getPatientPlayerDAO();
}
@ManagedBean
public abstract class FactoriaDAO {
  private static FactoriaDAO unicainstancia = null;

    public FactoriaDAO(){}

    public static FactoriaDAO getInstancia() {
        if (unicainstancia == null) unicainstancia = new FactoriaMongoDAO( "xx");
        return unicainstancia;
    }  
        public abstract PatientPlayerDAO getPatientPlayerDAO();
}

0 个答案:

没有答案