SpringBoot如何讀取mock數(shù)據(jù)(高效調(diào)試接口)
寫在前面:故不積跬步,無以致千里,不積小流,無以成江海。
個(gè)人感悟:
最近需求上偏向數(shù)倉需求較多,大結(jié)構(gòu)型的json或者字符串 比較多,為了節(jié)省時(shí)間,以往從數(shù)據(jù)庫 或者三方SDK獲取數(shù)據(jù)的地方,直接讀取本地mock數(shù)據(jù)進(jìn)行調(diào)試。真的很高效,無非啟動(dòng)項(xiàng)目,單元測試 或者 主函數(shù)就可以自測。 記錄一下這次的經(jīng)驗(yàn)分享給大家,留給自己備用
SpringBoot中讀取resource資源文件MOCK數(shù)據(jù)
調(diào)試接口
在 Spring Boot 項(xiàng)目中,通常會(huì)將靜態(tài)資源或配置文件放在 src/main/resources 目錄下。以下是如何讀取存放在 resources 目錄中的文本文件的步驟和代碼示例:
文件路徑
將文件放在 src/main/resources 目錄下,例如文件名為 mock_data.txt。
代碼示例
可以通過 Spring 的 ClassPathResource 或標(biāo)準(zhǔn)的 ClassLoader 來讀取 resources 中的文件內(nèi)容。
方法 1:使用 ClassPathResource
import org.springframework.core.io.ClassPathResource;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
public class FileUtil {
public static String readFileFromResources(String fileName) {
StringBuilder content = new StringBuilder();
try {
// 獲取文件資源
ClassPathResource resource = new ClassPathResource(fileName);
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(resource.getInputStream(), StandardCharsets.UTF_8))) {
String line;
while ((line = reader.readLine()) != null) {
content.append(line).append("\n");
}
}
} catch (Exception e) {
e.printStackTrace();
}
return content.toString();
}
}方法 2:使用 ClassLoader
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
public class FileUtil {
public static String readFileFromResources(String fileName) {
StringBuilder content = new StringBuilder();
try {
// 獲取當(dāng)前線程的類加載器
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(classLoader.getResourceAsStream(fileName), StandardCharsets.UTF_8))) {
String line;
while ((line = reader.readLine()) != null) {
content.append(line).append("\n");
}
}
} catch (Exception e) {
e.printStackTrace();
}
return content.toString();
}
}示例用法
public class Main {
public static void main(String[] args) {
String content = FileUtil.readFileFromResources("mock_data.txt");
System.out.println(content);
}
}注意事項(xiàng)
文件路徑:
- 如果文件位于
resources的子目錄下,例如data/mock_data.txt,那么fileName應(yīng)設(shè)置為"data/mock_data.txt"。
文件存在性:
- 確保
mock_data.txt已經(jīng)正確放置在src/main/resources或其子目錄下。 - 如果文件不存在或路徑錯(cuò)誤,會(huì)拋出
FileNotFoundException。
編碼問題:
- 讀取時(shí)應(yīng)指定文件的字符集(如
UTF-8),以避免亂碼問題。
通過這些方法,你可以輕松讀取并引用 Spring Boot 項(xiàng)目中 resources 目錄下的文件內(nèi)容。
到此這篇關(guān)于SpringBoot中讀取mock數(shù)據(jù)(高效調(diào)試接口)的文章就介紹到這了,更多相關(guān)SpringBoot 讀取mock數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringEvents與異步事件驅(qū)動(dòng)案例詳解
本文深入探討了SpringBoot中的事件驅(qū)動(dòng)架構(gòu),特別是通過Spring事件機(jī)制實(shí)現(xiàn)組件解耦和系統(tǒng)擴(kuò)展性增強(qiáng),介紹了事件的發(fā)布者、事件本身、事件監(jiān)聽器和事件處理器的概念,感興趣的朋友跟隨小編一起看看吧2024-09-09
Springboot項(xiàng)目編寫測試單元完整步驟記錄
這篇文章主要介紹了如何使用JUnit編寫Spring?Boot項(xiàng)目中的測試單元,包括引入依賴、配置文件設(shè)置、啟動(dòng)文件創(chuàng)建以及編寫測試類的步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
Spring?MVC文件請求處理MultipartResolver詳解
這篇文章主要介紹了Spring?MVC文件請求處理詳解:MultipartResolver,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-11-11
4位吸血鬼數(shù)字的java實(shí)現(xiàn)思路與實(shí)例講解
今天小編就為大家分享一篇關(guān)于4位吸血鬼數(shù)字的java實(shí)現(xiàn)思路與實(shí)例講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
java使用JDBC連接數(shù)據(jù)庫的五種方式(IDEA版)
這篇文章主要介紹了java使用JDBC連接數(shù)據(jù)庫的五種方式(IDEA版),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

