dimanche 12 juillet 2015

Spring MVC controller with Java config

I am building a simple Hello World application, but the problem is that the controller is not getting called, and I am getting a 404. I have the hello.html page on the views folder.

Spring Servlet container same as web.xml

public class WebConfigInitilizer extends
    AbstractAnnotationConfigDispatcherServletInitializer {

@Override
protected Class<?>[] getRootConfigClasses() {
    return new Class[] { SpringRootConfig.class };
}

@Override
protected Class<?>[] getServletConfigClasses() {
    return new Class[] { SpringWebConfig.class };
}

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

Spring Root Config

@Configuration
@ComponentScan({ "com.spark.service" })
public class SpringRootConfig {

}

Spring Web Config

@EnableWebMvc
@Configuration
@ComponentScan({ "com.spark.webcontroller" })
public class SpringWebConfig extends WebMvcConfigurerAdapter {

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**").addResourceLocations(
            "/resources/");
}

@Bean
public InternalResourceViewResolver viewResolver() {
    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
    viewResolver.setViewClass(JstlView.class);
    viewResolver.setPrefix("/WEB-INF/view/html/");
    viewResolver.setSuffix(".html");
    return viewResolver;
}
}

Controller

@Controller
public class SpringController {

@RequestMapping(value = "/", method = RequestMethod.GET)
public String sayHello() {
    logger.info("hello controller");
    return "hello";
}
}

Some one please help me out with this.

Aucun commentaire:

Enregistrer un commentaire