Baixei o projeto do curso e importei no eclipse, a classe AutorDao ficou assim:
package br.com.caelum.livraria.dao;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.Stateless;
import javax.inject.Inject;
import br.com.caelum.livraria.modelo.Autor;
@Stateless
public class AutorDao {
@Inject
private Banco banco;
public void salva(Autor autor) {
this.banco.save(autor);
}
@PostConstruct
void aposCriacao() {
System.out.println("Autor foi Criado!");
}
public List<Autor> todosAutores() {
return this.banco.listaAutores();
}
public Autor buscaPelaId(Integer autorId) {
Autor autor = this.banco.buscaPelaId(autorId);
return autor;
}
}
A classe AutorBean ficou assim:
package br.com.caelum.livraria.bean;
import java.util.List;
import javax.faces.bean.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;
import br.com.caelum.livraria.dao.AutorDao;
import br.com.caelum.livraria.modelo.Autor;
@Named
@RequestScoped
public class AutorBean {
private Autor autor = new Autor();
@Inject
private AutorDao dao;
public Autor getAutor() {
return this.autor;
}
public void cadastra() {
this.dao.salva(this.autor);
this.autor = new Autor();
}
public List<Autor> getAutores() {
return this.dao.todosAutores();
}
}
conforme orientacao do Nico adicionei as anotacoes: @Stateless e @Inject e add o métodos aposCriacao() na classe AutorDao. Porém ao rodar o projeto conforme mostra no video ao trocar de abas "Livros e Autores" no video cria somente um sessionBean, já no meu projeto toda a vez que troco de aba ele cria um sessionBean diferente coforme mostra o console:
18:47:37,745 INFO [stdout] (default task-12) Autor foi Criado!
18:47:37,930 INFO [stdout] (default task-14) Autor foi Criado!
18:47:37,942 INFO [stdout] (default task-16) Autor foi Criado!
18:47:38,114 INFO [stdout] (default task-18) Autor foi Criado!
18:47:38,328 INFO [stdout] (default task-20) Autor foi Criado!
18:47:38,568 INFO [stdout] (default task-22) Autor foi Criado!
18:47:38,665 INFO [stdout] (default task-25) Autor foi Criado!
18:47:38,674 INFO [stdout] (default task-26) Autor foi Criado!
18:47:39,219 INFO [stdout] (default task-28) Autor foi Criado!
18:47:39,524 INFO [stdout] (default task-30) Autor foi Criado!
18:47:39,536 INFO [stdout] (default task-32) Autor foi Criado!
18:47:39,724 INFO [stdout] (default task-34) Autor foi Criado!
18:47:40,054 INFO [stdout] (default task-36) Autor foi Criado!
18:47:40,390 INFO [stdout] (default task-38) Autor foi Criado!
no meu ambiente está configura o Java 8 (1.8.0_11) e o servidor de aplicação é o wildfly-8.1.0
sabem me dizer o porque na video aula cria apenas um SessionBean e no meu projeto criar vários conforme troco de aba?