Spring Boot 视图解析器详解

首先看一下Spring Boot中mvc的自动配置类 WebMvcAutoConfiguration,其中有一个内部类WebMvcAutoConfigurationAdapter,是Spring Boot 自动化配置mvc的关键类。

在 WebMvcAutoConfigurationAdapter 中找到视图解析器 defaultViewResolver :

@Bean
@ConditionalOnMissingBean
public InternalResourceViewResolver defaultViewResolver() {
    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix(this.mvcProperties.getView().getPrefix());
    resolver.setSuffix(this.mvcProperties.getView().getSuffix());
    return resolver;
}

可以看到,视图解析器是通过 mvcProperties 这个配置文件来配置的。跟踪 mvcProperties,发现其是通过 WebMvcProperties类定义的。

接下来看一下 WebMvcProperties 这个类:

@ConfigurationProperties(
    prefix = "spring.mvc"
)
public class WebMvcProperties {
    ...

    public static class View {
        private String prefix;
        private String suffix;
    
    ...
}

注意 @ConfigurationProperties 注解:在配置文件中读取 "spring.mvc" 为前缀的配置来初始化该类。

其中的 View类中便定义了视图解析器的前缀和后缀,所以只需要初始化这两个参数,便可初始化视图解析器。

spring:
  mvc:
    view:
      prefix: /views/
      suffix: .html

 

 

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页