Pessoal, atualmente estou criando um projeto para utilizar o que aprendi nos cursos de Spring MVC I e SpringBoot. Mas tenho três dúvidas, a primeira é, no curso de SpringBoot é utilzado um padrão para os métodos, e no curso de SpringMVC é utilizado ModelAndView, qual eu devo usar ?
A segunda, é como devo deixar o documento application.properties para que faça a criação das tabelas para mim ?
A terceira dúvida é que estou recebendo o seguinte erro:
Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2017-05-19 18:30:08.166 ERROR 3636 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Field produtoService in br.com.playthegame.PlayTheGame.CadastroProdutoController required a bean of type 'br.com.playthegame.dao.ProdutoService' that could not be found.
Action:
Consider defining a bean of type 'br.com.playthegame.dao.ProdutoService' in your configuration.
Classes:
package br.com.playthegame.PlayTheGame;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import br.com.playthegame.Model.Produto;
import br.com.playthegame.dao.ProdutoService;
@Controller
public class CadastroProdutoController {
@Autowired
ProdutoService produtoService;
@RequestMapping("/cadastro_produto") // o que aparece no navegador
public ModelAndView cadastro() {
return new ModelAndView("CadastroProduto"); // nome do arquivo
}
@RequestMapping(value = "salvar", method = RequestMethod.POST)
public ModelAndView grava(Produto produto) {
produtoService.salvar(produto);
return new ModelAndView("redirect:CadastroProduto");
}
}
package br.com.playthegame.Repository;
import org.springframework.data.repository.CrudRepository;
import br.com.playthegame.Model.Pedido;
public interface PedidoRepository extends CrudRepository<Pedido, Long>{
}
package br.com.playthegame.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import br.com.playthegame.Model.Produto;
import br.com.playthegame.Repository.ProdutoRepository;
@Service
public class ProdutoService {
@Autowired
ProdutoRepository produtoRepository;
public void salvar(Produto produto){
produtoRepository.save(produto);
}
}