Aparentemente está tudo ok , inserindo corretamente no banco, mas não está redirecionando para a lista depois da inclusão. Simplesmente está ficando na mesma página "form.xhtml".
No meu caso, a pasta é "Livro" ao inves de "Livros" como na aula, mas , o caminho está correto.
Segue o código:
 @Transactional
    public String salvar() {
        for (Integer autorId : autoresId) {
            livro.getAutores().add(new Autor(autorId));
        }
        livroDao.salvar(livro);
        System.out.println("Livro salvo com Sucesso!");
        return "livro/lista?faces-redirect=true";
    }
E no meu web.xml
<servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.jsf</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.xhtml</url-pattern>
 </servlet-mapping> 
            