Files
2026-09-26 16:09:11 +08:00

113 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 通用的目录结构
```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 # 启动类
```