SpringBoot微服务目录结构指南
·
📊 第一章:混乱目录的五大危害
混乱的项目目录就像杂乱无章的书房,看似什么都有,却什么都找不到。让我们通过对比来直观感受规范目录的重要性。


💰 成本对比分析
✨ 规范目录的六大好处
😵 第二章:传统三层架构的问题
🏗️ SpringMVC三层架构
🚨 当前架构痛点
❌ 问题代码示例
@Service
public class UserService {
// ❌ 2000+行的庞然大物
public void createUser(UserDTO dto) {
// 1. 业务逻辑
if (userExists(dto.getEmail())) {
throw new BizException("用户已存在");
}
// 2. 调用Redis缓存
redisTemplate.opsForValue().set("user:" + dto.getEmail(), dto);
// 3. 调用外部API
smsService.sendSms(dto.getPhone(), "验证码");
// 4. 数据库操作
User user = convertToEntity(dto);
userRepository.save(user);
// 5. 发送MQ消息
rabbitTemplate.convertAndSend("user.exchange", "user.created", user);
// 6. 调用其他服务
creditService.initUserCredit(user.getId());
}
// ❌ 还有50+个类似的方法...
}
🏗️ 第三章:清晰分层架构
✅ 清晰分层架构

项目示例
order-service/ ├── api/ # 对外API模块 │ ├── src/main/java/com/demo/order/api/ │ │ ├── feign # 对外接口定义 │ │ ├── model/ # 模型定义层 │ │ │ └── req/ # 请求模型 │ │ │ └── resp/ # 响应模型 │ └── pom.xml │ ├── service/ # 核心业务模块 │ ├── src/main/java/com/demo/order/service/ │ │ ├── web/ # 流量入口层 │ │ │ ├── controller/ │ │ │ ├── api/ │ │ │ └── listener/ │ │ ├── biz/ │ │ │ └── action/ # 业务编排层 │ │ │ └── validation/ # 校验 │ │ │ └── pattern/ # 设计模式 │ │ ├── service/ # 领域服务层 │ │ │ └── impl/ # 实现类 │ │ ├── dao/ # 数据访问层 │ │ ├── integration/ # 防腐层 │ │ ├── framework/ # 框架支撑层 │ │ ├── model/ # 模型定义层 │ │ │ └── req/ # 请求模型 │ │ │ └── resp/ # 响应模型 │ │ │ └── dto/ # 数据转换 │ │ │ └── entity/ # 表对应实体 │ │ ├── util/ # 工具类层 │ │ └── config/ # 配置层 │ │ │ └── interceptor/ # 拦截器 │ │ │ └── exception/ # 异常处理 │ │ │ └── aop/ # 切面编程 │ │ │ └── exception/ # 异常处理 │ └── pom.xml │ ├── pom.xml # 根POM └── README.md
📁目录说明
🔨开发规范
明确各层真实职责,避免概念混淆


🎯调用示意图

调用关系详细说明
主流程:Controller → Action → Service → DAO
Controller分支调用:
• Controller → Validation (校验)
• Controller → Action (调用主业务)
Action层分支调用:
• Action → Integration(外部服务调用:库存、审批流、用户服务)
• Action → Framework(日志处理、时间工具、通用框架)
• Action → Util(Redis序列号、订单号生成)
• Action → Validation(策略模式复杂业务校验)
• Action → pattern(业务处理用到的设计模式)
数据流:Controller接收请求 → Action编排 → Service处理 → DAO持久化
📋 订单导入业务流程示例

🚀架构优势总结

🏆第四章:架构优势 vs SpringMVC 详细对比
01 清晰分层架构
02 业务编排
03 设计模式
04 框架封装隔离
05 业务技术封装
06 架构演进


更多推荐





所有评论(0)