springboot獲取resources下static目錄的位置
在 Spring Boot 中,如果你想獲取 resources 目錄下的 static 目錄的位置,可以通過(guò) ResourceLoader 或者直接使用 Path 類來(lái)獲取文件路徑。
Spring Boot 會(huì)自動(dòng)將 src/main/resources/static 目錄下的靜態(tài)資源暴露出來(lái),因此你可以通過(guò)以下幾種方式來(lái)獲取 static 目錄下的資源。
方法 1:使用 ResourceLoader 獲取 static 目錄路徑
Spring Boot 會(huì)在啟動(dòng)時(shí)自動(dòng)將 static 目錄映射為 /static 路徑,因此你可以通過(guò) ResourceLoader 來(lái)加載它。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Service;
import java.io.IOException;
@Service
public class StaticResourceService {
@Autowired
private ResourceLoader resourceLoader;
public void getStaticResource() throws IOException {
// 獲取 static 目錄下的資源
Resource resource = resourceLoader.getResource("classpath:/static/somefile.txt");
if (resource.exists()) {
System.out.println("Resource exists at: " + resource.getURI());
} else {
System.out.println("Resource not found!");
}
}
}
在這個(gè)例子中,resourceLoader.getResource("classpath:/static/somefile.txt") 會(huì)加載 src/main/resources/static 目錄下的 somefile.txt 文件。如果文件存在,它會(huì)打印出文件的 URI。
方法 2:使用 Path 獲取 static 目錄路徑
如果你需要獲取靜態(tài)資源的絕對(duì)路徑(例如,如果你想讀取文件內(nèi)容),可以使用 Path 類來(lái)獲取 static 目錄下的文件路徑。你可以通過(guò) Spring Boot 的 ApplicationContext 來(lái)獲取文件路徑。
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.nio.file.Path;
import java.nio.file.Paths;
@Service
public class StaticResourceService {
@Value("${spring.resources.static-locations}")
private String staticLocations;
public void getStaticPath() {
// 獲取靜態(tài)資源的絕對(duì)路徑
Path path = Paths.get(staticLocations + "/somefile.txt");
System.out.println("Static file path: " + path.toString());
}
}
方法 3:通過(guò) ServletContext 獲取靜態(tài)資源路徑
如果你需要獲取靜態(tài)資源的根路徑,可以使用 ServletContext 來(lái)獲取 static 文件夾的路徑:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.ServletContext;
@Service
public class StaticResourceService {
@Autowired
private ServletContext servletContext;
public void getStaticPath() {
// 獲取 static 目錄的物理路徑
String staticPath = servletContext.getRealPath("/static");
System.out.println("Static directory path: " + staticPath);
}
}
注意
classpath:/static:Spring Boot 默認(rèn)將 static 目錄下的資源暴露在 web 根目錄下,你可以直接通過(guò)瀏覽器訪問(wèn) /static 路徑。
ServletContext.getRealPath("/static"):如果你需要的是絕對(duì)文件路徑(即磁盤上的路徑),這通常依賴于運(yùn)行環(huán)境和容器配置,可能會(huì)返回 null 在某些容器中(例如,在內(nèi)嵌 Tomcat 中)。
總結(jié)
如果你想訪問(wèn) Spring Boot 中的 static 目錄中的文件,最常用的方法是通過(guò) ResourceLoader 或 ServletContext 來(lái)獲取文件的路徑或內(nèi)容。
這些方法適用于在 Spring Boot 應(yīng)用中動(dòng)態(tài)加載或操作靜態(tài)資源。
到此這篇關(guān)于springboot獲取resources下static目錄的位置的文章就介紹到這了,更多相關(guān)springboot獲取resources下static位置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot無(wú)法請(qǐng)求html等靜態(tài)資源文件webapp或者resources/static的問(wèn)題及解決方案
- springboot設(shè)置加載靜態(tài)資源的路徑(spring.resources.static-locations)
- SpringBoot獲取resources目錄下的文件
- SpringBoot下獲取resources目錄下文件的常用方法
- SpringBoot實(shí)現(xiàn)本地上傳文件到resources目錄
- SpringBoot如何讀取resources目錄下的文件
- springboot讀取resources下文件的方式詳解
相關(guān)文章
Java使用正則表達(dá)式驗(yàn)證手機(jī)號(hào)和電話號(hào)碼的方法
今天小編就為大家分享一篇關(guān)于Java使用正則表達(dá)式驗(yàn)證手機(jī)號(hào)和電話號(hào)碼的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
解析Spring Mvc Long類型精度丟失問(wèn)題
在平時(shí)開發(fā)過(guò)程中,經(jīng)常會(huì)使用long類型作為id的類型,但是在使用過(guò)程中會(huì)導(dǎo)致long類型數(shù)據(jù)轉(zhuǎn)換為number類型時(shí)的后兩位變?yōu)?,今天小編給大家分享Spring Mvc Long類型精度丟失問(wèn)題,需要的朋友參考下吧2021-06-06
Spring Security自定義失敗處理器問(wèn)題
這篇文章主要介紹了Spring Security自定義失敗處理器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
Java?Mybatis?foreach嵌套foreach?List<list<Object>&
在MyBatis的mapper.xml文件中,foreach元素常用于動(dòng)態(tài)生成SQL查詢條件,此元素包括item(必選,元素別名)、index(可選,元素序號(hào)或鍵)、collection(必選,指定迭代對(duì)象)、open、separator、close(均為可選,用于定義SQL結(jié)構(gòu))2024-09-09
java實(shí)現(xiàn)小i機(jī)器人api接口調(diào)用示例
這篇文章主要介紹了java實(shí)現(xiàn)小i機(jī)器人api接口調(diào)用示例,需要的朋友可以參考下2014-04-04
Spring與Mybatis相結(jié)合實(shí)現(xiàn)多數(shù)據(jù)源切換功能
這篇文章主要介紹了Spring與Mybatis相結(jié)合實(shí)現(xiàn)多數(shù)據(jù)源切換功能的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
java讀取resources文件詳解及實(shí)現(xiàn)代碼
這篇文章主要介紹了java讀取resources文件詳解及實(shí)現(xiàn)代碼的相關(guān)資料,在開發(fā)項(xiàng)目的時(shí)候經(jīng)常會(huì)遇到讀取文件夾里面的內(nèi)容,需要的朋友可以參考下2017-07-07

