# 通用的目录结构 ```text com/example/project/ │ ├── controller/ # 控制器层(接收请求) │ ├── UserController.java │ └── ... │ ├── service/ # 业务逻辑层 │ ├── UserService.java # 接口 │ ├── impl/ # 实现类 │ │ └── UserServiceImpl.java │ └── ... │ ├── mapper/ # 数据访问层(MyBatis Mapper) │ ├── ProductMapper.java │ └── ... │ ├── domain/ # 领域层(数据对象 + 业务词汇统一入口) │ ├── entity/ # 实体类(与数据库表对应) │ │ ├── Product.java │ │ └── ... │ │ │ ├── dto/ # 数据传输对象(输入参数) │ │ ├── ProductQueryDTO.java │ │ └── ... │ │ │ ├── vo/ # 视图对象(输出结果) │ │ ├── UserVO.java │ │ ├── ProductVO.java │ │ ├── PageVO.java # 分页结果封装 │ │ └── ... │ │ │ ├── common/ # 通用对象 │ │ ├── Result.java # 统一返回结果封装 │ │ ├── PageResult.java # 分页返回封装 │ │ ├── BaseEntity.java # 实体基类(id、创建时间等) │ │ └── ... │ │ │ ├── enums/ # 枚举类 │ │ ├── ResultCodeEnum.java # 统一返回码 │ │ ├── OrderStatusEnum.java # 业务状态枚举 │ │ └── ... │ │ │ └── constants/ # 常量类 │ ├── StatusCode.java │ ├── RedisKeyConstant.java │ └── ... │ ├── config/ # 配置类 │ ├── DataSourceConfig.java │ ├── WebMvcConfig.java # SpringMVC 配置(拦截器注册、跨域、消息转换器等) │ ├── MyBatisConfig.java # MyBatis 配置 │ ├── SwaggerConfig.java # 接口文档配置 │ └── ... │ ├── interceptor/ # 拦截器(HandlerInterceptor) │ ├── LoginInterceptor.java # 登录校验拦截器 │ ├── AuthInterceptor.java # 权限校验拦截器 │ └── ... │ ├── aop/ # 切面编程(Aspect) │ ├── LogAspect.java # 操作日志切面 │ ├── TransactionAspect.java # 事务切面(可选,通常用 @Transactional) │ └── ... │ ├── handler/ # 处理器(全局处理 / 自定义处理器) │ ├── GlobalExceptionHandler.java# 全局异常处理(@RestControllerAdvice) │ ├── MyMetaObjectHandler.java # MyBatis-Plus 字段自动填充 │ └── ... │ ├── event/ # 事件驱动(Spring Event) │ ├── UserRegisterEvent.java # 事件定义 │ ├── UserRegisterListener.java # 事件监听器 │ └── ... │ ├── filter/ # 过滤器(Servlet Filter) │ ├── CorsFilter.java # 跨域过滤器 │ ├── RequestLogFilter.java # 请求日志过滤器 │ └── ... │ ├── validator/ # 校验相关 │ ├── group/ # 校验分组(如 Insert、Update) │ │ ├── InsertGroup.java │ │ └── UpdateGroup.java │ ├── custom/ # 自定义校验注解 + 校验器 │ │ ├── Phone.java # 自定义注解 │ │ ├── PhoneValidator.java # 对应 ConstraintValidator 实现 │ │ └── ... │ └── ... │ ├── annotation/ # 自定义注解 │ ├── Log.java # 日志注解 │ ├── RateLimit.java # 限流注解 │ └── ... │ ├── converter/ # 对象转换器 │ ├── UserConverter.java │ └── ... │ ├── exception/ # 自定义异常 │ ├── BusinessException.java # 业务异常 │ ├── ErrorCode.java # 错误码接口 │ └── ... │ ├── utils/ # 工具类 │ ├── DateUtil.java │ ├── ResultUtil.java # 统一返回结果工具 │ └── ... │ └── Application.java # 启动类 ```