springboot静态资源路径

为了开发打包方便,我们往往会把静态资源放到项目的resource文件夹下,但是yml中写的是文件的绝对路径,每次换一次环境,就需要改一次yml里面的路径很不方便。其实springboot自带了一个utils,可以将这个路径指向resource文件夹。方法如下:
在yml中写上静态资源的相对路径,路径前加“classpath:”
springboot静态资源路径
文章图片

在需要调用的地方,把原来的相对路径替换成如下

File protocolFile=null; try{ protocolFile = new File(ResourceUtils.getURL(path).getFile()); }catch(Exception e){}

这个ResourceUtils是springboot自带的工具类,他的日志的配置文件就是用该种方法去引用的。
其中
ResourceUtils.getURL(path)
这个方法返回的是URL,如果将这个URL直接转成String
ResourceUtils.getURL(path).toString()
返回到的路径将会是 file:/ 开头
【springboot静态资源路径】而如果获取这个URL的parh
ResourceUtils.getURL(path).getPath()
返回到的路径将会是 / 开头
windows环境下的路径应该是盘符开头,所以我用的是getFile()

    推荐阅读