Java tutorial
/* * The License * * Copyright 2014 Marcos O. Junqueira <marcos.junqueira at gmail.com>. * * This file is part of schedule-app and can not be copied and/or * distributed without the express permission of Marcos O. Junqueira <marcos.junqueira at gmail.com>. */ package br.com.valecard.config; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.data.web.PageableHandlerMethodArgumentResolver; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; /** * * @author Marcos O. Junqueira <marcos.junqueira at gmail.com> */ @Configuration @EnableWebMvc @ComponentScan(basePackages = { "br.com.valecard.controllers" }) public class WebMvcConfig extends WebMvcConfigurerAdapter { @Autowired private Environment environment; @Override public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) { PageableHandlerMethodArgumentResolver pageableArgumentResolver = new PageableHandlerMethodArgumentResolver(); argumentResolvers.add(pageableArgumentResolver); } @Bean public ViewResolver viewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/views/"); viewResolver.setSuffix(".jsp"); return viewResolver; } @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**").addResourceLocations("/"); registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); registry.addResourceHandler("/bower_components/**").addResourceLocations("/bower_components/"); registry.addResourceHandler("/template/**").addResourceLocations("/template/"); registry.addResourceHandler("/snapshots/**").addResourceLocations("/snapshots/"); registry.addResourceHandler("/partials/**").addResourceLocations("/partials/"); registry.addResourceHandler("/manifest.appcache").addResourceLocations("/"); } @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { converters.add(new MappingJackson2HttpMessageConverter()); } }