SpringBoot資源文件的存放位置設置方式
SpringBoot默認的存放靜態(tài)資源文件的位置是:
注:SpringBoot中的src/main/resources/資源文件夾對應classpath:。
默認存放靜態(tài)資源文件的位置
在SpringBoot項目中的文件夾位置為:
即:搜索文件夾的優(yōu)先順序和數(shù)組中的順序一致。
當我們訪問IP地址:端口號/時,就相當于訪問到了這四個文件夾。
如:訪問:localhost:8080/123.jpg時,就會先去看src/main/resources資源文件夾下的META-INF下的resoures文件夾中是否有123.jpg,沒 有的話再看src/main/resources資源文件夾下的resoures文件夾中是否有123.jpg,沒有的話再看src/main/resources資源文件夾下的static文件夾中是否有123.jpg,沒有的話再看src/main/resources資源文件夾下的public文件夾中是否有123.jpg。
手動配置其搜索資源文件的文件夾位置
把文件放在SpringBoot項目下的classpath中
方式一:通過配置類
import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; /** * 主動設置URL匹配路徑 * * @author JustryDeng * @date 2018年8月4日 上午1:36:38 */ @Configuration public class MyURLPatternConfiguration extends WebMvcConfigurationSupport { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/fileData/**").addResourceLocations("classpath:/myFile/"); super.addResourceHandlers(registry); } }
此時:訪問IP地址:端口號/fileData/時,就相當于到了src/main/resources資源文件夾下的myFile文件夾中了,圖示說明:
注:此時默認的四個文件夾都失效了,如果想讓默認的四個文件夾依然有效,那么可以在配置類中多次通過.addResourceHandler添加指定那四個文件夾。
方式二:通過配置文件
# 設置當URI為/fileData/**時,才進過靜態(tài)資源 # 注:如果設置為/**,那么表示任何訪問都會經(jīng)過靜態(tài)資源路徑 spring.mvc.static-path-pattern=/fileData/** # 自定義路徑 # 注:自定義路徑時,默認的四個文件夾下中的“META-INF下的resoures文件夾”仍然有效,其他三個文件夾失效 # (此時:訪問ip:端口號/fileData/時,相當于訪問到了 “自定義的文件夾”和 “META-INF下的resoures文件夾”); # 注:搜索文件時,自定義的文件夾的優(yōu)先級要高于默認的四個文件夾 spring.resources.static-locations=classpath:/myFile/ # 提示:如果我們顯式地把自定義文件夾 和 默認的四個文件夾都寫出來,那么都會有效(此時,優(yōu)先級 從左至右 依次降低) #spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/myFile/
把文件放在項目jar包之外的服務器磁盤中的某個文件夾中
方式一:通過配置類
import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; /** * 主動設置URL匹配路徑 * * @author JustryDeng * @date 2018年8月4日 上午1:36:38 */ @Configuration public class MyURLPatternConfiguration extends WebMvcConfigurationSupport { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 指定到D盤下的myFile文件夾 // 注:如果是Linux的話,直接指定文件夾路徑即可,不需要指定哪個盤(Linux就一個可用盤) registry.addResourceHandler("/fileData/**").addResourceLocations("file:D:/myFile/"); super.addResourceHandlers(registry); } }
此時:我們訪問IP地址:端口號/fileData/時,就相當于到了服務器D盤下的myFile文件夾中了。
注:此時默認的四個文件夾都失效了,如果想讓默認的四個文件夾依然有效,那么可以在配置類中通過 .addResourceHandler多次添加四個文件夾。
方式二:通過配置文件
# 設置當URI為/fileData/**時,才進過靜態(tài)資源 # 注:如果設置為/**,那么表示任何訪問都會經(jīng)過靜態(tài)資源路徑 spring.mvc.static-path-pattern=/fileData/** # 自定義路徑 # 注:自定義路徑時,默認的四個文件夾下中的“META-INF下的resoures文件夾”仍然有效,其他三個文件夾失效 # (此時:訪問ip:端口號/fileData/時,相當于訪問到了 “自定義的文件夾”和 “META-INF下的resoures文件夾”); # 注:搜索文件時,自定義的文件夾的優(yōu)先級要高于默認的四個文件夾 spring.resources.static-locations=file:D:/myFile/ # 提示:如果我們顯式地把自定義文件夾 和 默認的四個文件夾都寫出來,那么都會有效(此時,優(yōu)先級 從左至右 依次降低) #spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:D:/myFile/
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
IDEA使用MyBatisCodeHelperPro來generator代碼的詳細教程
這篇文章主要介紹了IDEA使用MyBatisCodeHelperPro來generator代碼的詳細教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09MybatisPlus+Postgresql整合的幾個坑及解決
這篇文章主要介紹了MybatisPlus+Postgresql整合的幾個坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03springcloud3 Sentinel的搭建及案例操作方法
Sentinel是分布式系統(tǒng)流量控制的哨兵,阿里開源的一套服務容錯的綜合性解決方案,這篇文章主要介紹了springcloud3 Sentinel的搭建以及案例操作,需要的朋友可以參考下2023-01-01