以前通用的SpringMVC配置方法是使用web.xml加载SpringMVC以及使用spring的配置文件加载bean
servlet3.0以后可以直接用Java的方式配置springmvc
初始化
继承AbstractAnnotationConfigDispatcherServletInitializer
类,并定义映射,spring配置类,root配置
public class MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[]{RootConfig.class};
}
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[]{WebConfig.class};
}
protected String[] getServletMappings() {
return new String[]{"/"};
}
protected Filter[] getServletFilters() {
HiddenHttpMethodFilter hiddenHttpMethodFilter = new HiddenHttpMethodFilter();
return new Filter[]{hiddenHttpMethodFilter};
}
}
定义WebConfig
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.gggg")
public class WebConfig extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer){
configurer.enable();
}
}
定义RootConfig
@Configuration
@ComponentScan(basePackages = "com.ggg",excludeFilters = {@ComponentScan.Filter(type= FilterType.ANNOTATION,value = EnableWebMvc.class)})
public class RootConfig {
}