Spring MVC

estou aprendendo Spring MVC no alura, pelo que eu entendi esses métodos que estou herdando é para configurar meu Controller e o meu Mapeamento de acesso as páginas?
`
public class SevletSpring extends AbstractAnnotationConfigDispatcherServletInitializer {

@Override
protected Class<?>[] getRootConfigClasses() {
	// TODO Auto-generated method stub
	return null;
}

//Método que faz a configuração de classe.
@Override
protected Class<?>[] getServletConfigClasses() {
	
	return new Class[] {AppWebConfiguration.class};  
}

 
@Override
protected String[] getServletMappings() {
	
	return new String[] {"/"};
}

`

Essa classe criada é que vai ser controla minhas páginas e meu Controller?
`import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

import br.com.casadocodigo.controllers.HomeController;

@EnableWebMvc //Habilitando Spring WebMVC no meu projeto.
@ComponentScan(basePackageClasses={HomeController.class})
public class AppWebConfiguration {

@Bean //vai ser gerenciado pelo Spring.
public InternalResourceViewResolver internalResourceViewResolver(){ //método visão interna do recurso a saida é HTML ou JSP.
	
	InternalResourceViewResolver resolver = new InternalResourceViewResolver();
	resolver.setPrefix("/WEB-INF/views/"); //SUBPAstas
	resolver.setSuffix(".jsp"); //meu arquivo JSP
	return resolver;
}`