Prezados,
Gostaria de saber como faço pra injetar um Dao na Facade corretamente, pois conforme o código que fiz abaixo,
está gerando um null pointer. A princípio anotei todas com @Component.
//classe de Controller
@Resource
public class ClienteController {
private final ClienteFacade clienteFacade;
private final Result result;
public ClienteController(ClienteFacade clienteFacade, Result result) {
this.result=result;
this.clienteFacade=clienteFacade;
}
@Path("/cliente/lista")
public void lista() {
List<Cliente> clientes = clienteFacade.listar();
result.include("clientes", clientes);
}
}
//classe de Facade
@Component
public class ClienteFacade {
private ClienteDao dao;
}
//classe Dao
@Component
public class ClienteDao extends GenericDAO{
private static final EntityManagerFactory emf =
Persistence.createEntityManagerFactory("teste");
public static EntityManager getEntityManager() {
return emf.createEntityManager();
}
}