在SpringBoot中,集成了SpringMVC框架,且SpringBoot为SpringMVC提供了自动配置功能,但有些功能如拦截器(interceptors)、视图控制器(view controllers)等等需要扩展以及自定义等等。
注意版本区别:
这是2.3.2版本
If you want to keep those Spring Boot MVC customizations and make more MVC customizations (interceptors, formatters, view controllers, and other features), you can add your own @Configuration class of type WebMvcConfigurer but without @EnableWebMvc.
在2.0.0版本以前,均是继承WebMvcConfigurerAdapter
类。
官方文档(1.5.9版本)
这是1.5.9版本
If you want to keep Spring Boot MVC features, and you just want to add additional MVC configuration (interceptors, formatters, view controllers etc.) you can add your own @Configuration class of type WebMvcConfigurerAdapter, but without @EnableWebMvc. If you wish to provide custom instances of RequestMappingHandlerMapping, RequestMappingHandlerAdapter or ExceptionHandlerExceptionResolver you can declare a WebMvcRegistrationsAdapter instance providing such components.
以下是2.3.2版本自定义的MVC配置
package edu.mju.xiaoxin.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
//@EnableWebMvc
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
//浏览器发生 /xiaoxinconfig 请求来到 test
registry.addViewController("/xiaoxinconfig").setViewName("test");
}
}