一.在默认SpringMVC配置基础上扩展自定义配置
1)、创建一个配置类,继承WebMvcConfigurerAdapter
2)、添加@Configuration注解
3)、例如自定义一个视图解析:
@Configuration
public class MyMvcConfig extends WebMvcConfigurerAdapter {
//打开成功页
@Override
public void addViewControllers(ViewControllerRegistry registry){
registry.addViewController("/zhq").setViewName("success");
}
//打开主页
@Bean
public WebMvcConfigurerAdapter toIndex(){
WebMvcConfigurerAdapter adpter=new WebMvcConfigurerAdapter(){
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("index");
registry.addViewController("/index.html").setViewName("index");
}
};
return adpter;
}
说明:其中WebMvcConfigurerAdapter中定义了扩展自定义配置的接口,要添加配置重写方法就像了
public abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer {
public WebMvcConfigurerAdapter() {
}
public void configurePathMatch(PathMatchConfigurer configurer) {
}
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
}
public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
}
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
}
public void addFormatters(FormatterRegistry registry) {
}
public void addInterceptors(InterceptorRegistry registry) {
}
public void addResourceHandlers(ResourceHandlerRegistry registry) {
}
public void addCorsMappings(CorsRegistry registry) {
}
public void addViewControllers(ViewControllerRegistry registry) {
}
public void configureViewResolvers(ViewResolverRegistry registry) {
}
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
}
public void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers) {
}
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
...
二.全盘接管SpringMVC配置
1)、只需要再添加@EnableWebMvc即可,然后自定义需要添加的组件
@EnableWebMvc
@Configuration
public class MyMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry){
registry.addViewController("/zhq").setViewName("success");
}
...