SpringBoot扩展SpringMVC配置

Spring Boot通过WebMvcAutoConfiguration来提供一些默认配置;大多数时候使用默认的配置即可满足要求。但有时可能需要做一些个性化定制,此时就需要使用以下方式来进行。

1.继承WebMvcConfigurer接口

我们可以通过继承WebMvcConfigurer接口来达到扩展默认SpringMVC配置的效果:

需要与Configuration注解一起使用,否则将不会生效

示例如下:

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
          
   
}

WebMvcConfigurer提供的功能如下表所示:


2.实现一个自己的视图解析器

首先需要写一个新的视图解析器:

写一个内部类,继承ViewResolver接口就好:

public static class MyViewResolver implements ViewResolver {
          
   
    @Override
    public View resolveViewName(String viewName, Locale locale) throws Exception {
          
   
        return null;
    }
}

随后,不要忘记把它注册到Bean中:

@Bean
public ViewResolver myViewResolver() {
          
   
    return new MyViewResolver();
}

整体代码:

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
          
   

    @Bean
    public ViewResolver myViewResolver() {
          
   
        return new MyViewResolver();
    }

    public static class MyViewResolver implements ViewResolver {
          
   
        @Override
        public View resolveViewName(String viewName, Locale locale) throws Exception {
          
   
            return null;
        }
    }
}

3.其他自定义配置

视图跳转

我们可以重写addViewControllers方法以实现试图跳转的功能:

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

此时我们访问/qian就会跳转到test页面

经验分享 程序员 微信小程序 职场和发展