Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida: CDI

Tenho uma dúvida. No código abaixo, do curso Curso Java e JSF 2 - III: Integração com CDI, o professor faz a injeção do AutorDAO com CDI. É possível injetar o

private Autor autor = new Autor();

dessa forma

@Inject
private Autor autor;

?

Trecho do código do curso.

@Named
@ViewScoped
// javax.faces.view.ViewScoped
public class AutorBean implements Serializable {

    private Autor autor = new Autor();

    @Inject
    private AutorDao dao;// CDI faz new AutorDao() e injeta
2 respostas
solução!

Hugo a sua duvida é se é possivel deixar o CDi tomar conta do seu objeto autor? Igual o professor fez com o AutorDao?

Opa claro que é possivel, mais tem um lembrete, sempre que você for fazer que o CDI cuida dos seus instanciamento do seu objeto, sempre na classe você tem que implementar uma interface. O porque? eu não sei, mais se não fica dando erro. N a sua Classe autor, faz o seguinte.

public class Autor implements Serializable {
}

Ai aqui já é para o seu java entender que o CDI irá tomar conta da sua classe. Agora testa e manda o retorno para ver se foi possivel...

@Named
@ViewScoped
// javax.faces.view.ViewScoped
public class AutorBean implements Serializable {

    @Inject
    private Autor autor;

    @Inject
    private AutorDao dao;// CDI faz new AutorDao() e injeta

Alisson, obrigado pela dica! Me ajudou bastante!!!