SpringBoot扩展SpringMVC配置
- 1.继承WebMvcConfigurer接口
- 2.实现一个自己的视图解析器
- 3.其他自定义配置
- 视图跳转
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页面