SpringBoot_6_静态资源处理

默认资源映射

1 springBoot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。
默认配置的/** 映射到 /static (或/public、/resources、/META-INF/resources)
默认配置的 /webjars/** 映射到 classpath:/META-INF/resources/webjars/
PS:上面的 static、public、resources 等目录都在 classpath: 下面(如 src/main/resources/static)。
2 如图,访问http://localhost:9090/fj.png

SpringBoot_6_静态资源处理_第1张图片
Paste_Image.png

自定义资源映射

代码实现

1 自定义目录:以增加 /myres/** 映射到 classpath:/myres/** 为例的代码处理为: 实现类继承 WebMvcConfigurerAdapter 并重写方法 addResourceHandlers

@Configuration
public class CustomResourceConfig extends WebMvcConfigurerAdapter{

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/myres/**").addResourceLocations("classpath:/myres/");
        super.addResourceHandlers(registry);
    }
    // 可以直接使用addResourceLocations 指定磁盘绝对路径,同样可以配置多个位置,注意路径写法需要加上  
   //file:registry.addResourceHandler("/myimgs/**").addResourceLocations("file:H:/myimgs/");
}
SpringBoot_6_静态资源处理_第2张图片
Paste_Image.png

2 访问:http://localhost:9090/myres/custom.png

配置文件实现

spring.mvc.static-path-pattern=/myres/**
#classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ 
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/myres/

访问:http://localhost:9090/myres/custom.png
http://localhost:9090/myres/fj.png,之前为http://localhost:9090/fj.png

你可能感兴趣的:(SpringBoot_6_静态资源处理)