静态资源访问

默认策略

SpringBoot 中对于SpringMVC的自动化配置都在WebMVCAutoConfiguration类中。在WebMvcAutoConfiguration类中有一个静态内部类WebMvcAutoConfigurationAdapter,实现了WebMvcConfigurer接口。WebMvcConfigurer 接口中有一个方法addResourceHandlers,是用来配置静态资源过滤的。方法在WebMvcAutoConfigurationAdapter 类中得到了实现,部分核心代码如下:

SpringBoot 在这里进行了默认的静态资源过滤配置,其中staticPathPattern默认定义在WebMvcProperties中,定义内容如下:




自定义策略

第一种:application.properties

spring.resources.static-locations=classpath:/
spring.mvc.static-path-pattern=/**

第一行配置表示定义资源位置,

第二行配置表示定义请求 URL 规则。

以上文的配置为例,如果我们这样定义了,表示可以将静态资源放在 resources 目录下的任意地方,我们访问的时候当然也需要写完整的路径,例如在 resources/static 目录下有一张名为 1.png 的图片,那么访问路径就是 http://localhost:8080/static/1.png ,注意此时的 static

第二种java配置

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry){
        registry.addResourceHandler("/**")
                .addResourceLocations("classpath:/res/");
    }
}
posted @ 2020-08-05 20:39  柒丶月  阅读(107)  评论(0编辑  收藏  举报