这是企业开发最标准、最通用的 Java 项目分层结构基于 SpringBoot/SpringCloud遵循MVC 架构 领域分层可读性、可维护性拉满。一、标准目录结构直接照着建plaintext你的项目根目录/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── 公司域名/ │ │ │ └── 项目名/ │ │ │ ├── DemoApplication.java # 项目启动类必须放最外层 │ │ │ ├── config/ # 配置类Swagger、Redis、MyBatis等 │ │ │ ├── controller/ # 控制层接收前端请求、参数校验 │ │ │ ├── service/ # 业务逻辑层 │ │ │ │ └── impl/ # 业务实现类接口放service实现放impl │ │ │ ├── mapper/ # 数据访问层DAO操作数据库 │ │ │ ├── entity/ # 实体层数据库表映射对象 │ │ │ ├── pojo/ # 普通Java对象DTO、VO、BO等 │ │ │ ├── common/ # 公共组件 │ │ │ │ ├── constant/ # 常量类 │ │ │ │ ├── enums/ # 枚举类 │ │ │ │ ├── exception/ # 全局异常、自定义异常 │ │ │ │ └── result/ # 统一返回结果封装 │ │ │ ├── util/ # 工具类日期、字符串、加密等 │ │ │ └── aspect/ # AOP切面日志、权限校验 │ │ └── resources/ │ │ ├── application.yml # 主配置文件 │ │ ├── application-dev.yml # 开发环境配置 │ │ ├── application-prod.yml # 生产环境配置 │ │ ├── mapper/ # MyBatis XML文件对应mapper层 │ │ ├── static/ # 静态资源图片、JS、CSS │ │ └── templates/ # 模板页面Thymeleaf等 │ └── test/ │ └── java/ │ └── com/ │ └── 公司域名/ │ └── 项目名/ │ ├── controller/ # 接口测试 │ ├── service/ # 业务测试 │ └── mapper/ # 数据访问测试 ├── pom.xml # Maven依赖配置 └── README.md # 项目说明二、每层作用核心必记1. 启动类DemoApplication.java项目入口必须放在所有包的最外层作用自动扫描同级及子包下的所有类2.controller控制层接收前端请求、校验入参调用service层返回统一结果不写复杂业务逻辑3.service业务层核心业务逻辑都写在这里分为接口UserService 实现类UserServiceImpl调用mapper操作数据库4.mapper数据访问层只做数据库增删改查MyBatis 接口 XML 映射文件5.entity实体层与数据库表一一对应例如User.java对应 user 表6.pojo普通对象重点区分VO返回给前端的数据只保留需要的字段DTO接收前端传入的参数BO业务对象service 层内部使用7.config配置层项目所有配置类跨域、Redis、线程池、Swagger 等8.common公共层全局异常处理、统一返回结果、常量、枚举所有地方都能复用9.util工具层通用工具日期、文件、加密、Excel 等三、调用流程标准数据流plaintext前端请求 → controller接收参数 → service处理业务 → mapper操作DB → 数据库四、简易示例User 模块plaintextcom.company.demo/ ├── controller/ │ └── UserController.java ├── service/ │ ├── UserService.java │ └── impl/ │ └── UserServiceImpl.java ├── mapper/ │ └── UserMapper.java ├── entity/ │ └── User.java └── pojo/ ├── dto/ │ └── UserLoginDTO.java └── vo/ └── UserInfoVO.java总结这是企业通用标准结构所有 Java 后端项目都适用遵循MVC 分层思想职责清晰启动类放最外层配置、控制、业务、数据访问分层存放实体区分entity数据库和pojo前后端交互