
一、前言SpringBoot后端项目采用分层架构设计核心思想是各司其职、解耦分层每个目录对应独立的业务层级严格区分请求接收、业务处理、数据操作、实体映射等职责。标准化的目录结构是项目可维护、可迭代、易排查问题的基础同时也是前后端数据交互的核心支撑。本文将从完整目录结构、各层级职能、编码规范禁区、文件分工、前后端交互全链路五个维度全景解析SpringBoot项目核心架构。二、SpringBoot核心业务目录完整结构标准规范3.1 全层级核心职责总表本表汇总所有核心目录的定位、核心职责、依赖关系是项目分层的核心依据层级目录架构定位核心工作职责依赖上层/下层controller请求入口层对外暴露接口接收前端HTTP请求、基础参数校验、调用业务层、封装统一结果返回仅依赖 Service 层service业务逻辑层项目核心处理核心业务流程、数据校验、事务控制、业务计算、组装业务数据依赖 Mapper 层被 Controller 调用service/impl业务实现层实现 Service 接口的所有抽象方法编写具体业务代码实现 Service 接口依赖 Mappermapper数据访问层数据库交互通过Mybatis执行SQL实现数据库增删改查承接业务层的数据请求被 Service 调用直接操作数据库entity实体映射层映射数据库数据表结构存储字段属性作为数据传输载体被 Controller、Service、Mapper 全局引用config全局配置层自定义全局配置拦截器、跨域、Mybatis配置、权限配置等全局生效无业务依赖util通用工具层封装通用工具方法日期处理、加密、文件操作、字符串处理等被所有业务层调用无业务侵入common公共基础层统一返回结果、全局异常处理、系统常量、状态枚举、分页工具支撑全局业务统一项目规范3.2 各层级编码规范能做/禁止做清单本表为企业强制编码规范杜绝层级职责混乱是新手最容易踩坑的核心知识点层级目录✅ 允许做的事❌ 绝对禁止做的事controller1. 定义接口URL、接收前端参数2. 非空、格式等基础参数校验3. 调用Service业务方法4. 封装统一JSON结果返回1. 禁止写任何核心业务逻辑2. 禁止直接调用Mapper操作数据库3. 禁止手动编写SQL语句4. 禁止处理事务、复杂数据计算service1. 编写核心业务流程、业务判断2. 数据组装、业务计算、分页处理3. 开启/关闭数据库事务4. 调用Mapper完成数据读写1. 禁止接收前端原始请求参数2. 禁止定义接口URL、处理HTTP请求3. 禁止直接操作数据库原生APImapper1. 定义数据库增删改查方法2. 编写XML/注解SQL语句3. 完成数据库数据读写映射1. 禁止编写任何业务逻辑代码2. 禁止做数据校验、数据组装3. 禁止调用Service、Controller层级entity1. 定义与数据库对应的字段2. 设置字段get/set方法、构造方法1. 禁止编写业务逻辑、判断、计算2. 禁止编写SQL、调用业务方法3. 禁止添加非数据表冗余业务字段特殊场景除外3.3 Mapper目录文件细分Mybatis专属mapper是Mybatis框架的核心目录包含两类固定文件分工明确、一一对应文件类型文件后缀核心作用编写规范Mapper接口文件.java声明数据库操作方法名、参数、返回值作为业务层调用入口只声明、不实现无具体代码逻辑由Mybatis动态代理实现Mapper映射文件.xml绑定对应接口方法编写具体SQL语句执行数据库操作与接口方法名完全一致一一对应只写SQL不写业务四、标准化前后端交互全链路全景流程前后端所有接口交互均严格遵循前端 → Controller → Service → Mapper → 数据库的固定链路层层调用、各司其职无越级调用。4.1 完整交互步骤拆解前端发起请求浏览器、APP、小程序、Postman等客户端通过GET/POST/PUT/DELETE方式携带参数向后端指定URL发起HTTP请求。Controller接收请求请求精准匹配后端Controller层对应接口接收前端传递的参数JSON、路径参数、表单参数完成基础参数合法性校验。调用Service业务层Controller不处理业务仅调度对应的Service方法将校验后的参数传递给业务层。Service处理核心业务Service层根据业务需求完成数据校验、业务判断、数据组装、事务控制等核心逻辑按需调用Mapper层方法。Mapper操作数据库Mapper接口绑定XML中的SQL语句执行数据库查询、新增、修改、删除操作从数据库获取/修改数据。数据逐层回传数据库执行结果 → Mapper → Service二次组装处理→ Controller。后端统一返回结果Controller将数据封装为固定格式的JSON响应包含状态码、提示信息、业务数据返回给前端。前端渲染数据前端解析后端返回的JSON数据完成页面展示、状态更新、弹窗提示等操作。4.2 前后端交互链路对照表交互环节执行层级核心输出内容请求发起前端客户端HTTP请求URL、请求方式、请求参数请求接收与校验Controller合法参数转发至业务层业务逻辑处理Service处理完成的业务数据、业务结果数据库数据读写MapperMybatis数据库原始数据数据封装响应Controller标准化JSON结果数据展示前端客户端页面可视化数据、操作反馈五、核心分层设计核心优势解耦独立各层级职责隔离修改业务逻辑无需改动接口修改数据库无需改动前端交互逻辑。便于维护问题精准定位接口报错查Controller数据报错查Mapper业务报错查Service。复用性高Service业务方法、Mapper数据方法可被多个接口复用避免代码冗余。规范统一团队开发统一标准新人快速上手避免代码混乱、层级错乱。便于迭代扩展新增业务仅需对应新增Controller、Service、Mapper文件不影响原有代码。六、SpringBoot名字解析Spring 英文本义春天、复苏、萌芽、新生SpringBoot 快速启动的Spring框架Spring指Spring框架是Java后端最核心的底层框架提供IOC容器、AOP、事务、Web开发等核心能力是所有Java Web项目的基础。Boot英文含义为启动、引导、开机。简化原生Spring的繁琐配置一键搭建、快速启动项目。SpringBoot项目是基于Spring底层框架以快速启动、自动配置、简化开发为核心目的的现代化Java Web后端项目也是目前企业Java后端的唯一主流项目架构。技术寓意给繁琐老旧的Java开发带来“春天”轻量化、简洁、灵活Spring春天框架 Boot快速启动 快速启动的轻量化Spring生态项目也就是我们现在开发的标准后端项目。框架定位特点现状Spring底层核心框架功能强大、配置繁琐、手动组装环境底层依然是它不直接裸用SpringBootSpring的快速开发脚手架零配置、开箱即用、快速启动、自动整合组件企业项目主流标准