每一秒钟的时间都值得铭记

0%

SpringBoot访问静态资源

上一篇博客SpringBoot配置虚拟路径映射访问磁盘中的文件中提供了一种可以访问磁盘中的静态资源的配置方式,只需要简单配置,就可以将访问静态资源的路径映射磁盘中,实现静态资源的访问。

具体方式为在application.yml文件中配置如下属性:

1
2
3
spring:
resources:
static-locations: file:G:\temp\images #访问系统外部资源,将该目录下的文件映射到系统下

其实只要我们使用IDE开发工具,进入static-locations属性中查看一下,就可以看到这些代码。

org.springframework.boot.autoconfigure.web包下,有一个ResourceProperties类,其中有一个属性即为staticLocations 属性。

1
2
3
4
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
"classpath:/META-INF/resources/", "classpath:/resources/",
"classpath:/static/", "classpath:/public/" };
private String[] staticLocations = CLASSPATH_RESOURCE_LOCATIONS;

我们通过代码可以看到,这个属性其实是一个String类型的属性,其包括四个静态资源的访问路径,也就是说,只要是在这四个静态资源的访问路径下,SpringBoot项目就可以访问静态资源。

这四个静态资源路径分别代表着resources包下的:

  • META-INF/resources文件
  • resources文件
  • static文件
  • public文件

我们可以自己配置静态资源的放置路径,覆盖SpringBoot的默认配置。

1
2
3
4
5
spring:
resources:
static-locations:
- file:G:\temp\images #访问系统外部资源,可以用来存放项目上传的图片
- classpath:/static/ #可以用来存放其他静态资源,比如html文件
坚持原创技术分享,您的支持将鼓励我继续创作!
-------------这是我的底线^_^-------------