Uso correto do CDI

Java

16/05/2013

Estou com o seguinte problema na hora de injetar meu DAO:

Minha injeção:
    
@Inject
private DAO<Categoria> dao;


Construtor do DAO:
    public DAO(Class<T> classe, EntityManager em) {
        this.classe = classe;
        this.em = em;
    }


DAOFactory:
public class DAOFactory {

    @Produces
    public DAO createDAO(InjectionPoint injectionPoint, EntityManager em) {
        ParameterizedType type = (ParameterizedType) injectionPoint.getType();
        Class classe = (Class) type.getActualTypeArguments()[0];
        return new DAO(classe, em);
    }
}

Na linha do método aparece um warning: Dependência não satisfeita: nenhum bean corresponde ao ponto de injeção.

Quando tento subir a aplicação no log do tomcat aparece:
WELD-001408 Unsatisfied dependencies for type [DAO<Categoria>] with qualifiers [@Default] at injection point [[BackedAnnotatedField] @Inject private br.kranio.bean.CategoriaBean.dao]

Disparando logo apos um NullPointerException

Andei lendo sobre o assunto e aparentemente a classe DAOFactory era para solucionar esse erro, já que o construtor do DAO Generico necessita de um tipo Class... no qual não sabe instanciar sozinho. Devo ter esquecido ou não configurei de algum detalhe para que funcione essa injeção.
Jeferson Cruz

Jeferson Cruz

Curtidas 0
POSTAR