默认资源映射
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
自定义资源映射
代码实现
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/");
}
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