Estou tentando fazer um app spring com zero de configuração xml, ou arquivos properties, apenas java.
De acordo com o que li sobre spring 5, existe essa tal interface WebMvcConfigurer que simplifica a criação e configuração de beans como o view resolver, basta implementar a interface em uma classe anotada com Configuration e EnableWebMvc. Bom, eu fiz, mas parece que os métodos da classe nunca são chamados.
Esta é a classe:
@Configuration
@ComponentScan({"br.gabrieelmoura.controller"})
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
registry.jsp("/WEB-INF/views/", ".jsp");
}
}
Este é um controller:
@Controller
public class HomeController {
@GetMapping("/")
public String index() {
return "index";
}
@GetMapping("/teste")
public String teste() {
return "WEB-INF/views/index.jsp";
}
}
O /teste funciona perfeitamente, ao acessa-lo a view é renderizada.
O / não funciona e aparece isso no log:
[http-nio-9000-exec-2] WARN org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/index] in DispatcherServlet
Acredito que um funciona e outro não porque a configuração que fiz ali no WebConfig não é chamada.
Vocês tem acesso ao código completo aqui: