SpringBoot扩展SpringMVC自动配置

时间:2021-04-06 19:50:03

SpringBoot中自动配置了

  •   ViewResolver(视图解析器)
  •   ContentNegotiatingViewResolver(组合所有的视图解析器)
  •   自动配置了静态资源文件夹、静态首页、favicon.ico及Webjars
  •   Converter(转换器,转换类型使用)
  • Formatter(格式化器)
  • HttpMessageConverter(对SpringMVC的请求和响应进行序列化)
  • MessageCodesResolver(定义错误代码生成规则)
  • ConfigurableWebBindingInitializer(Web数据绑定器)

我们可以自定义SpringMVC的配置

 package cn.coreqi.config;

 import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; /**
* 扩展SpringMVC
* SpringBoot2使用的Spring5,因此将WebMvcConfigurerAdapter改为WebMvcConfigurer
* 使用WebMvcConfigurer扩展SpringMVC好处既保留了SpringBoot的自动配置,又能用到我们自己的配置
*/
//@EnableWebMvc //如果我们需要全面接管SpringBoot中的SpringMVC配置则开启此注解,
//开启后,SpringMVC的自动配置将会失效。
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
//设置对“/”的请求映射到index
//如果没有数据返回到页面,没有必要用控制器方法对请求进行映射
registry.addViewController("/").setViewName("index");
}
}