尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Spring Boot资源路径与ClassPathResource详解
Spring Boot资源路径与ClassPathResource详解一、ClassPathResource是什么代码ClassPathResourceresourcenewClassPathResource(template/tableName.xlsx);拆分ClassPathResource ClassPath Resource含义从Java程序运行时的类路径classpath中查找资源文件。常用于读取Excel模板配置文件XML文件JSON文件图片等项目内部资源二、什么是classpathclasspath中文类路径简单理解Java程序运行时寻找类和资源文件的位置。Spring Boot项目结构项目 | |-- src | |-- main | |-- java | |-- resources其中java目录存放Java代码例如Controller.java Service.java Entity.javaresources目录存放项目资源文件例如application.yml Excel模板 XML文件 图片 JSON文件三、resources为什么叫classpath项目启动后Maven会把src/main/resources复制到target/classes例如项目中src/main/resources/template/user.xlsx编译后target/classes/template/user.xlsx运行时target/classes就是classpath。所以classpath target/classes resources目录四、template/为什么是在IDEA项目里面代码newClassPathResource(template/user.xlsx);这里的template/不是浏览器路径也不是http://localhost:8080/template/user.xlsx而是后端项目resources目录下的文件夹例如项目src/main/resources | |-- template | |-- user.xlsx代码newClassPathResource(template/user.xlsx);Spring会寻找classpath/template/user.xlsx实际位置target/classes/template/user.xlsx五、浏览器和classpath的区别浏览器访问http://localhost:8080/download/template表示访问后端接口浏览器不知道template/user.xlsx这个文件。完整流程浏览器 | | HTTP请求 ↓ Controller | | ClassPathResource读取文件 ↓ resources/template/user.xlsx | | 输出文件流 ↓ 浏览器下载文件六、为什么模板文件放resources因为模板属于系统固定资源例如Excel导入模板Word合同模板邮件模板特点开发人员维护 不会频繁变化 跟项目一起发布所以放resources七、Spring Boot常见资源目录1. resources根目录结构resources | |-- application.yml用途配置文件读取newClassPathResource(application.yml);2. template目录结构resources | |-- template | |-- user.xlsx用途模板文件例如Excel模板Word模板邮件模板读取newClassPathResource(template/user.xlsx);3. static目录结构resources | |-- static | |-- css |-- js |-- images用途静态资源例如CSSJavaScript图片浏览器可以直接访问localhost:8080/logo.png4. public目录结构resources/public作用和static类似。用于公开访问的静态文件5. templates目录注意template和templates不是一个东西。templates用于后端页面模板例如Thymeleafresources/templates/user.htmlControllerreturnuser;Spring寻找templates/user.html6. mapper目录结构resources | |-- mapper | |-- UserMapper.xml用途MyBatis XML映射文件配置mybatis:mapper-locations:classpath:mapper/*.xml表示从resources/mapper目录寻找xml文件7. db目录结构resources | |-- db | |-- schema.sql |-- data.sql用途数据库初始化脚本八、classpath:是什么意思经常看到mybatis:mapper-locations:classpath:mapper/*.xmlclasspath表示从类路径开始查找也就是resources目录开始查找例如classpath:mapper/UserMapper.xml实际位置src/main/resources/mapper/UserMapper.xml九、ClassPathResource和File路径区别1. ClassPathResource代码newClassPathResource(template/test.xlsx);查找项目内部资源位置resources目录适合模板文件配置文件固定资源特点跟随项目打包2. File文件路径例如FilefilenewFile(/home/bes/upload/test.zip);查找服务器磁盘例如/home/bes/upload适合用户上传文件临时文件业务数据文件特点运行过程中动态产生十、为什么上传文件不用ClassPathResource上传文件例如202605.zip属于用户产生的数据不能放resources原因项目重新打包jar重新生成可能导致文件丢失所以上传文件保存服务器磁盘目录例如/home/bes/upload | |--202605 | |--tableName | |--xxx.zip十一、结合项目中的两个场景场景1下载Excel模板文件resources | |--template | |--config.xlsx代码ClassPathResourceresourcenewClassPathResource(template/config.xlsx);特点系统自带 固定文件 开发维护场景2下载用户上传文件用户上传202605.zip保存/home/bes/upload/202605/tableName/读取FileInputStreamFileInputStream特点用户产生 动态文件 数量变化十二、总结记忆ClassPathResource 找项目内部resources中的资源classpath: 从resources目录开始查找File路径 找服务器磁盘上的文件对应关系系统模板文件 ↓ resources/template ↓ ClassPathResource 用户上传文件 ↓ 服务器磁盘目录 ↓ File路径一句话固定的系统资源放resources用ClassPathResource读取动态产生的业务文件放服务器磁盘用File路径读取。
RELATED

相关推荐

设备磁场干扰频发?一文吃透 IEC 61000-4-8 测试等级与合规要点

设备磁场干扰频发?一文吃透 IEC 61000-4-8 测试等级与合规要点

在电磁兼容(EMC)领域,很多设备故障、信号紊乱、仪器数据漂移的问题,根源并非电压电流波动,而是容易被忽视的工频磁场干扰。无论是家用电子设备、工业自动化装置,还是变电站、发电厂的精密仪器,都…

📅 2026/10/31 16:57:06
赣州经济纠纷案件处理中的律师专业方向与服务场景

赣州经济纠纷案件处理中的律师专业方向与服务场景

赣州经济纠纷案件处理中的律师专业方向与服务场景 行业现状与法律服务需求特征 近年来赣州经济活动持续活跃,建设工程、经济合同等纠纷案件数量呈现增长趋势。企业、施工方及业主单位在工程款结算、合同履行等方面常遇法律难题。此类纠纷涉及复杂法律关系&#xff…

📅 2026/10/18 1:33:06
一文看懂!2026年9月PMP考试完整全攻略

一文看懂!2026年9月PMP考试完整全攻略

2026年9月12日PMP考试是第七版旧考纲收官场次,12月起将全面启用第八版新考纲,新增图形案例题、商业环境分值暴涨、备考难度大幅提升。9月这场是难度最低、资料最成熟、通过率最高的黄金上岸窗口,本文从报考条件、报名流程、考点分值、分阶段备…

📅 2026/9/12 2:05:15
MORE NEWS

更多资讯

📰

沈阳建筑行业电工证多久拿证?工地太忙根本没时间复习考试怎么办?

沈阳建筑行业电工证多久拿证?工地太忙根本没时间复习考试怎么办? 工地太忙根本没时间复习考试,是不是你的真实写照?尤其是在沈阳建筑行业,电工证几乎是每个项目必不可少的“入场券”,但很多电工因为工作节奏快、时间紧张,根本抽不出空来备考,甚至不知…

📰

义乌安监局电工证办理2026河南最新政策下如何快速上岗

义乌安监局电工证办理2026河南最新政策下如何快速上岗 你现在正坐在电脑前,脑子里盘算着怎么才能尽快拿到电工证,早点上岗赚钱。但问题来了: 义乌安监局电工证办理…

📰

工地太忙根本没时间复习考试?人才市场中级电工证值不值得考

工地太忙根本没时间复习考试?人才市场中级电工证值不值得考 工地太忙根本没时间复习考试,这话我懂。每天扛着工具满工地跑,哪还有闲工夫坐在电脑前刷题?但别小看这个“人才市场中级电工证”,它不仅关系到你能不能上岗,还影响着你未来的薪资和职业发展空…

📰

奎屯电工证多少钱?真实经历告诉你别白交培训费

奎屯电工证多少钱?真实经历告诉你别白交培训费 怕考不过白交培训费?这事儿我懂,身边好多朋友就是这么踩坑的。我认识一个在洛阳涧西区工地干活的老李,去年花了一万多块钱报了电工证培训,结果考试没过,钱打了水漂,还耽误了工期。这种事在特种作业证报考…

📰

工地太忙根本没时间复习考试,良心建议帮你搞定人才市场中级电工证

工地太忙根本没时间复习考试,良心建议帮你搞定人才市场中级电工证 你是不是也在工地忙得连轴转,天天盯工、盯人、盯进度,根本没有时间复习考试?别急,我来给你一个 良心建议 —— 人才市场中级电工证…

📰

徐汇区电工证怎么转?良心建议帮你避开这些坑

徐汇区电工证怎么转?良心建议帮你避开这些坑 之前考的证在外省能不能转过来?这个问题困扰了太多人,尤其是像我这样在外地工作多年、现在回到上海徐汇区想继续干电工的朋友。说实话,刚开始我也一头雾水,不知道怎么操作。今天就来分享我的亲身经历,希望能…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬