113 lines
4.6 KiB
Markdown
113 lines
4.6 KiB
Markdown
# 通用的目录结构
|
||
|
||
```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 # 启动类
|
||
``` |