3
respostas

Injetar Classe Abstrata e Interface

Pessoal,

Tenho o seguinte cenário que não consigo imaginar como seria a injeção de dependência. Já tentei algumas opções e nenhuma funcionou.

Alguém pode me dar uma luz?

public interface A<T> {  
    void foo();  
}  

public abstract class B<T> implements A<T> {  
    public void foo(){}  
}  

public class C extends B<Entity> {  
    public void foo(Parameter p){}
    public void foo2(){}
}  

Implementei este cenário para criar DAOs Genéricos, onde "Entity" na Classe C é a minha entidade a qual estou criado a DAO Concreta.

Se alguém tiver alguma ideia, agradeço.

3 respostas

Fala Andro, tudo bem?

Poderia detalhar o que você tentou fazer que não deu certo? Fiquei na dúvida.

Abraço!

Otávio,

O problema ocorre quando tento fazer a injeção conforme abaixo:

@Inject
    public ContatoBean(ContatoDAO contatoDAO) {
        this.dao = contatoDAO;
    }

Ao subir o Tomcat, é apresentada a exceção:

Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type ContatoDAO with qualifiers @Default

Estou no trabalho agora. Em casa mando mais detalhes do código, caso precise.

Se possível, mostre como ficou sua arquitetura concreta. ContatoDAO é o exemplo "B" ou "C"?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software