【小白入门】一张项目结构图搞懂 SpringBoot 后端目录!每个文件夹到底干啥用?再也不懵!
文章目录前言一、先看整体项目树二、根目录文件逐个讲解1. pom.xml ⭐【整个项目最重要文件】2. target 文件夹 【千万不要在这里写代码】3. mvnw / mvnw.cmd4. .gitignore5. .idea三、src目录后端开发主战场3.1 src/main/java 【Java代码层】✅ BadHabbitApplication.java —— 项目启动类✅ entity 实体包模型层✅ mapper 数据访问层DAO层✅ controller 控制器接口层✅ config 配置包3.2 src/main/resources 资源文件夹✅ application.yml ⭐核心配置文件✅ mapper 文件夹✅ static 静态资源文件夹✅ templates四、完整请求链路带你打通前后端流程五、新手开发规范总结避坑指南六、写在最后前言很多刚学Java后端的同学打开别人的SpringBoot项目直接一脸懵.idea、src、target、controller、mapper……一堆文件夹密密麻麻不知道哪个能改、哪个碰都不能碰不知道代码写在哪分不清接口、数据库代码放哪里新建功能不知道该创建什么类今天拿一套最基础、最常用的SpringBoot MyBatis实战项目带大家拆解目录结构。看完这篇你拿到任何同款后端项目一眼看懂每个文件夹的职责告别“瞎复制代码”项目架构标准MVC后端项目提供接口给前端页面/小程序使用一、先看整体项目树bad_habbit # 项目根文件夹 ├── .idea # IDEA编辑器配置 ├── .mvn # maven自动化构建相关 ├── src # 【核心源代码目录我们99%代码写在这里】 │ └── main │ ├── java # Java业务代码 │ │ └── com.example.bad_habbit │ │ ├── config # 全局配置类 │ │ ├── controller # 接口控制器前后端交互入口 │ │ ├── entity # 数据库实体类 │ │ ├── mapper # 数据库操作接口 │ │ └── BadHabbitApplication # 项目启动类 │ └── resources # 配置文件、SQL映射、静态资源 │ ├── application.yml # SpringBoot核心配置文件 │ ├── mapper # Mybatis SQL文件 │ ├── static # 静态页面(html/js/css/图片) │ └── templates # 模板页面较少用 ├── test # 单元测试目录 ├── target # 编译输出文件夹 ├── pom.xml # Maven项目核心配置 ├── .gitignore # Git忽略配置 ├── mvnw/mvnw.cmd # Maven启动脚本二、根目录文件逐个讲解1. pom.xml ⭐【整个项目最重要文件】Maven项目的灵魂作用管理项目所有依赖包。你项目想要连接MySQL、使用MyBatis、SpringBoot框架全部都需要在这个文件引入依赖。简单理解你想要什么工具就在pom.xml里面“申请”Maven自动帮你下载对应的jar包。2. target 文件夹 【千万不要在这里写代码】执行项目编译后自动生成。Java源代码会被编译成.class文件最终打包的jar包也在这里。程序真正运行的时候执行的就是target里面编译后的代码。常见坑修改代码不生效很多人误改target内文件重启项目直接覆盖附带目录里hs_err_pidxxx.log文件JVM崩溃日志如果程序莫名闪退可以打开日志排查问题。3. mvnw / mvnw.cmdMaven包装脚本。正常开发我们电脑安装了Maven基本用不到如果别人电脑没有配置Maven可以直接运行这个脚本自动下载maven构建项目。mvnwMac/Linux系统mvnw.cmdWindows系统4. .gitignoreGit版本控制忽略清单。写在这里的文件/文件夹执行代码提交时不会上传到Gitee/GitHub。典型配置忽略target、.idea缓存文件避免上传大量无用缓存。5. .ideaIDEA开发工具自动生成的文件夹保存你的界面布局、运行配置、代码索引。和业务代码无关上传代码一般都会忽略。三、src目录后端开发主战场src source源代码我们日常写业务代码全部在这个文件夹分为两大块src/main正式环境运行的业务代码src/test单元测试代码写测试用例测试接口、方法3.1 src/main/java 【Java代码层】包路径com.example.bad_habbit✅ BadHabbitApplication.java —— 项目启动类整个SpringBoot项目唯一入口带有SpringBootApplication核心注解。右键运行这个类的main方法后端服务直接启动开启端口等待前端发送请求。✅ entity 实体包模型层存放实体类比如示例里Habbit.java规则一个类对应数据库一张表类的属性对应数据表字段。作用数据库查询出来的数据全部封装到实体对象中方便代码读取、传递数据。别名POJO、实体、数据表映射类。✅ mapper 数据访问层DAO层里面HabbitMapper是Java接口职责定义操作数据库的方法新增、删除、修改、查询。⚠️重点接口不写SQL实现SQL语句统一写在 resources/mapper对应的xml文件由MyBatis框架自动实现。✅ controller 控制器接口层前后端交互的大门前端网页、小程序、APP发起http请求都会访问Controller里面定义的接口地址。简单流程接收前端请求 → 调用mapper操作数据库 → 查询/修改数据 → 返回数据给前端页面小贴士正规企业项目还会多出一层service业务层把复杂业务逻辑抽离出来。小型项目可以简化Controller直接调用Mapper。✅ config 配置包存放所有自定义配置类示例里CorsConfig跨域配置前端页面和后端端口不一致时浏览器会拦截跨域请求这个配置放开限制让前端正常调用后端接口。后续还可以在这里添加登录拦截器、MyBatis分页配置、线程池配置等。3.2 src/main/resources 资源文件夹不会编译成class文件打包时直接复制到项目中。✅ application.yml ⭐核心配置文件SpringBoot全局配置中心常见配置内容后端服务启动端口默认8080MySQL数据库地址、账号、密码MyBatis配置、日志级别、文件上传大小限制等✅ mapper 文件夹存放MyBatis映射文件HabbitMapper.xml和mapper包下的接口一一对应所有SQL语句select/insert/update/delete全部写在这里。✅ static 静态资源文件夹SpringBoot内置静态资源目录html网页、js、css、图片都可以放这里。示例中的index.html前端页面启动项目后直接通过http://localhost:8080/index.html访问。✅ templatesThymeleaf模板文件夹。如果不用模板引擎开发页面这个文件夹可以闲置。四、完整请求链路带你打通前后端流程看完目录很多人还是不知道代码怎么联动给大家梳理一条完整流程前端打开 index.html → 网页发送请求GET /habbit/listHabbitController 接收前端请求Controller调用 HabbitMapper 里面的查询方法MyBatis加载 HabbitMapper.xml 中定义的查询SQL程序连接MySQL数据库执行SQL查询到的数据自动封装进 Habbit 实体对象Controller把数据返回前端网页渲染展示数据一条请求走完所有分层这下各个包的作用彻底串起来了。五、新手开发规范总结避坑指南新增数据表 → 创建entity实体类需要操作这张表 → 创建Mapper接口 Mapper.xml编写SQL需要给前端提供访问地址 → 在Controller新增接口通用全局功能跨域、拦截器写到configtarget、.idea 不要手动修改、不要上传代码仓库六、写在最后很多新手学习后端一上来就死磕各种框架源码却连项目目录结构都搞不清楚。地基没打好写代码只会东拼西凑遇到报错无从下手。搞懂目录分层思想不只是SpringBoot后续学习微服务、SpringCloud分层思想都是通用的如果文章对你有帮助点赞收藏后续持续更新SpringBoot实战小案例配套详细目录解析博文SpringBoot4 MyBatis 前后端分离实战从零实现坏习惯管理系统支持局域网手机访问CRUD你们刚学后端的时候哪个文件夹最让你迷惑评论区留言

相关新闻

5分钟实现B站视频智能转录:bili2text技术架构与应用实践

5分钟实现B站视频智能转录:bili2text技术架构与应用实践

5分钟实现B站视频智能转录:bili2text技术架构与应用实践 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text bili2text是一个专为Bilibili视频设计的智…

2026/7/30 8:42:34 阅读更多 →
STM32-LOW POWER

STM32-LOW POWER

一、低功耗是什么低功耗的目标是降低集成电路的能量消耗。STM32 上电后默认处于运行模式。运行模式下,CPU、时钟系统、外设等模块正常工作,功耗相对较高。当内核不需要持续运行时,可以让芯片进入低功耗模式,以减少电流消耗。STM32…

2026/7/30 8:42:34 阅读更多 →
DownKyi:B站8K视频下载的终极解决方案与安全指南

DownKyi:B站8K视频下载的终极解决方案与安全指南

DownKyi:B站8K视频下载的终极解决方案与安全指南 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#xff09…

2026/7/30 8:41:33 阅读更多 →

最新新闻

【爱马仕】Hermes 本地智能应用安装详解,从资源获取到功能测试全过程(含安装包)

【爱马仕】Hermes 本地智能应用安装详解,从资源获取到功能测试全过程(含安装包)

预整合资源包快速部署 Hermes,Windows 搭建本地桌面智能体 核心要点 集成全套运行依赖、免除繁琐环境调试、全程可视化操作、支持本地批量任务自动化 安装包下载地址:https://hm.ikidi.top/api/download/package/55?promoCodeIV644F14DA00 前言 He…

2026/7/30 8:53:37 阅读更多 →
vulnhub靶场实战-Basic Pentesting:2

vulnhub靶场实战-Basic Pentesting:2

信息收集:ip,端口,目录netdiscover -r 10.0.2.0/24收集到ip为10.0.2.5nmap -A 10.0.2.5扫描一下端口,比较全从中看出系统为linux系统,使用enum4linux 10.0.2.5收集系统的用户信息,获取到两个已经使用系统登…

2026/7/30 8:53:37 阅读更多 →
微信公众号注册全流程详解:从类型选择到认证避坑指南

微信公众号注册全流程详解:从类型选择到认证避坑指南

1. 项目概述:为什么一个“简单”的注册,值得写五千字?你可能觉得,注册一个微信公众号,不就是填个表、扫个码的事儿吗?网上随便一搜,教程多如牛毛,三分钟就能看完。但作为一个帮过上百…

2026/7/30 8:53:37 阅读更多 →
CLion嵌入式基础开发——基于F570无人机(一)

CLion嵌入式基础开发——基于F570无人机(一)

引言 在上一次的文章中我们了解了如何进行CLion的项目环境配置,成功的实现了程序的基本构建。大部分单片机开发者早期都是使用Keil等软件进行程序开发的,包括我也是一样,从一款开发工具过度到另一款开发工具是一件很困难的事,这并…

2026/7/30 8:53:37 阅读更多 →
局域网设备发现实战:从ARP缓存到Nmap扫描,快速定位IP、MAC与主机名

局域网设备发现实战:从ARP缓存到Nmap扫描,快速定位IP、MAC与主机名

1. 从一次“找不到设备”的排查说起 那天下午,同事急匆匆地跑过来,说新部署在会议室的一台网络打印机死活连不上,但隔壁工位的电脑却能正常打印。我们首先怀疑是IP冲突或者防火墙策略,但登录路由器管理界面一看,设备列…

2026/7/30 8:53:37 阅读更多 →
个人 AI 能力栈的建设路线:提示工程、Agent 编排与模型评估

个人 AI 能力栈的建设路线:提示工程、Agent 编排与模型评估

个人 AI 能力栈的建设路线:提示工程、Agent 编排与模型评估 一、深度引言与场景痛点:我会用 Copilot,但这就够了吗 7 月结束后,我梳理了自己的 AI 工具使用情况:Copilot 按 Tab 补全、ChatGPT 问问题、Claude 做深度…

2026/7/30 8:52:37 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻