Estou recebendo um erro ao inicializar o Tomcat:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'produtosController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private br.com.casadocodigo.loja.daos.ProdutoDAO br.com.casadocodigo.loja.controllers.ProdutosController.produtoDAO; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [br.com.casadocodigo.loja.daos.ProdutoDAO] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
As classes que escrevi são:
package br.com.casadocodigo.loja.daos;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.springframework.stereotype.Repository;
import br.com.casadocodigo.loja.models.Produto;
@Repository
public class ProdutoDAO {
@PersistenceContext
private EntityManager manager;
public void gravar(Produto produto){
manager.persist(produto);
}
}
package br.com.casadocodigo.loja.controllers;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;
import br.com.casadocodigo.loja.daos.ProdutoDAO; import br.com.casadocodigo.loja.models.Produto;
@Controller public class ProdutosController {
@Autowired private ProdutoDAO produtoDAO;
@RequestMapping("/produtos/form") public String form(){ return "produtos/form"; }
@RequestMapping("/produtos") public String grava(Produto produto){
System.out.println(produto.getTitulo()); System.out.println(produto.getSinopse()); System.out.println(produto.getPaginas());
this.produtoDAO.gravar(produto);
return "produtos/ok";
}
}
package br.com.casadocodigo.loja.models;
public class Produto {
private String titulo;
private String sinopse;
private int paginas;
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getSinopse() {
return sinopse;
}
public void setSinopse(String sinopse) {
this.sinopse = sinopse;
}
public int getPaginas() {
return paginas;
}
public void setPaginas(int paginas) {
this.paginas = paginas;
}
}
Qual será o problema?
Obrigado