尚硅谷的《springboot核心技术篇》中的WebMvcConfigurerAdapter过期问题及解决方法

当我在学习的时候发现WebMvcConfigurerAdapter已经过期,解决方法有两种。

一、实现WebMvcConfigurer接口

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry){
        registry.addViewController("/").setViewName("success");
    }

    @Bean
    public WebMvcConfigurer webMvcConfigureAdapter(){
        WebMvcConfigurer adapter = new WebMvcConfigurer() {
            @Override
            public void addViewControllers(ViewControllerRegistry registry) {
                registry.addViewController("/").setViewName("login");
                registry.addViewController("/index.html").setViewName("login");
            }
        };
        return adapter;
    }
}

该方法会使spring mvc的自主配置和spring boot默认配置同时生效。

二、继承WebMvcConfigurationSupport类

@Configuration
public class MyMvcConfig extends WebMvcConfigurationSupport {
    @Override
    public void addViewControllers(ViewControllerRegistry registry){
        registry.addViewController("/").setViewName("login");
    }

    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/");
        super.addResourceHandlers(registry);
    }
}

该方法相当于配置了@EnableWebMvc注解,自主全面控制spring mvc的配置,spring boot 不为我们导入默认配置。

 

参考:

关于WebMvcConfigurerAdapter过期,使用新的WebMvcConfigurationSupport

springboot2.0中 WebMvcConfigurerAdapter过期替代方案

你可能感兴趣的:(开发ing)