Springboot静态资源404

在配置mvc时 发现WebMvcConfigurationAdapter已经过时 网上推荐使用WebMvcConfigurationSupport 但是WebMvcConfigurationSupport会使 @EnableAutoConfiguration中的默认配置无效 现列举几种配置方法和效果


方法一:extends WebMvcConfigurationAdapter 重写父类方法:

@Configuration
public class MyMvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("index");
    }
}

效果:依旧使用Spring Boot的@EnableAutoConfiguration中的设置 但是 WebMvcConfigurerAdapter已经过时

拿webjars路径举例:

Springboot静态资源404_第1张图片


方法二:extends WebMvcConfigurationAdapter + @EnableWebMvc 重写父类方法:

@Configuration
@EnableWebMvc
public class MyMvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("index");
    }
}

效果:不使用Spring Boot的@EnableAutoConfiguration中的设置 完全掌控MVC配置

方法三:extends WebMvcConfigurationSupport

@Configuration
public class MyMvcConfig extends WebMvcConfigurationSupport {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("index");
    }
}

效果:不使用Spring Boot的@EnableAutoConfiguration中的设置 完全掌控MVC配置 而且父类不是过时的

拿webjars路径举例:

Springboot静态资源404_第2张图片


如果对于有一条线很不爽的完美主义者 推荐使用第四种方法:

implement WebMvcConfigurer:

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("index");
    }
}

效果:依旧使用Spring Boot的@EnableAutoConfiguration中的设置

仍然拿webjars路径举例:

Springboot静态资源404_第3张图片

你可能感兴趣的:(Springboot静态资源404)