一 完全自定义
如果Spring Boot提供Spring MVC默认配置不符合我们的要求,则可以通过一个配置类加上@EnableWebMvc注解来实现完全由自己控制MVC的配置。这种方式不推荐。
二 通过继承方式自定义
一般情况下,并不采用完全自定义方式,Spring Boot的自动配置是符合我们大多数需求的。我们需要保留Spring Boot提供的便利,只需要增加自己额外的配置部分,我们可以定义一个配置类,并继承WebMvcConfigurerAdapter,无需使用@EnableWebMvc注解,然后按照我们的需求进行相关配置。例如:
package com.wisely;
import org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.thymeleaf.templateresolver.TemplateResolver;
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
//重写的addViewControllers方法,并不会覆盖WebMvcAutoConfiguration中的
//addViewControllers方法,这意味着我们自己配置的和Spring Boot的自动配置同时有效
//推荐采用继承方式添加的自己MVC的配置方式
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/xx").setViewName("/xx");
}
}