单体项目结构

二、层级调用流程(核心执行顺序)

前端请求 → Controller → DTO 接收参数 → Service 业务层 → Mapper 持久层 → MySQLService 层可调用:Redis 工具、OSS 工具、自定义工具、ThreadLocal 上下文、定时任务

三、每层职责详细说明

  1. controller 控制层只做三件事:接收参数、调用 service、返回统一 Result,禁止写业务逻辑

  2. service 业务层核心业务、事务、多表操作、缓存逻辑、数据组装;所有复杂逻辑放这里

  3. mapper 持久层仅负责数据库操作,不处理业务

  4. entity(PO)与数据库表完全映射,只存字段,不做传输

  5. DTO前端传给后端的参数载体,做参数校验

  6. VO后端返回给前端的数据载体,封装组装后数据,脱敏

  7. config框架配置、拦截器、插件、第三方组件初始化

  8. common全局公共代码:工具、异常、返回体、常量、上下文

四、包分层规范口诀

控制收参,服务写业务,Mapper 操作库;PO 映射表,DTO 收请求,VO 返前端;公共工具放 common,所有配置归 config。

相关推荐
美味蛋炒饭.2 分钟前
Git 版本控制(下)
开发语言·git·学习·总结·后端开发
我星期八休息31 分钟前
网络编程—网络层
开发语言·前端·网络·人工智能·智能路由器
不负岁月无痕34 分钟前
简单理解操作系统结构
java·linux·c语言·开发语言·c++·面试
mister_guo1 小时前
Java线程池参数应该如何设置(ThreadPoolExecutor)
java
余额瞒着我当琳1 小时前
C++模板初阶与STL初探
android·java·c++
SomeB1oody1 小时前
【RustyML入门】2.9. MeanShift
开发语言·后端·机器学习·rust·教程
淡海水1 小时前
15-02-YooAsset面试篇-Unity架构设计与源码
java·unity·面试·c#·游戏引擎·yooasset
萧瑟其中~1 小时前
多线程锁详解:互斥锁·自旋锁·读写锁(CAS + futex 原理)
开发语言·c++
weixin_BYSJ19871 小时前
springboot酒店管理系统--附源码27436
java·spring boot·python·随机森林·贪心算法·eclipse·django
2401_894915531 小时前
GEO 源码部署如何实现精准地域分发?核心配置参数深度讲解
java·运维·服务器·后端·开源