Controller da listaloja.java
package br.com.alura.listavip.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import br.com.alura.listavip.model.Convidado;
import br.com.alura.listavip.service.ConvidadoService;
import br.com.alura.sendEmail.SendEmailService;
@Controller
public class ConvidadoController {
    @Autowired
    private ConvidadoService service;
    @RequestMapping("/")
    public String index() {
        return "index";
    }
    @RequestMapping("listaconvidados")
    public String listaConvidados(Model model) {
        Iterable convidados = service.obterTodos();
        model.addAttribute("convidados", convidados);
        return "listaConvidados";
    }
    /*
      @param nome
      @param email
      @param telefone
      @param model
      @return
     */
    @RequestMapping(value = "salvar", method = RequestMethod.POST)
    public String salvar(@RequestParam("nome") String nome, @RequestParam("email") String email, 
            @RequestParam("telefone") String telefone, Model model ) {
        Convidado novoConvidado = new Convidado(nome, email, telefone);
        service.salvar(novoConvidado);
        new SendEmailService().enviarEmail(nome, email);;
        Iterable convidados = service.obterTodos();
        model.addAttribute("convidados", convidados);
        return "listaConvidados";
    }
    @RequestMapping(value = "delete", method = RequestMethod.DELETE)
    public String delete(@RequestParam ("id") long idConvidado) {
        Convidado convidado = service.buscaConvidadoPorId(idConvidado);
        service.deletar(convidado);
        return "listaConvidados";
    }
    public List obterConvidadoPor(String nome){
        List convidados = service.buscaConvidadoPorNome(nome);
        return convidados;
    }
}