我想知道我采用的方法是否正确,在这种情况下如何解决以下因果关系。
我有一个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();
}