跳转至

02 分层架构设计(Layered Architecture Design)

1. 什么是分层架构?

分层架构是一种按职责拆分系统的设计思想
在 Spring Boot 中通常分为以下四层:

  • Controller(表示层)
  • Service(业务层)
  • Mapper / Repository(数据访问层)
  • Entity(实体层)

2. 分层架构调用关系

Controller
    ↓
Service
    ↓
Mapper
    ↓
Database

单向依赖是硬性规则。


3. 各层详细职责

3.1 Controller 层

  • 接收 HTTP 请求
  • 参数校验
  • DTO 转换
  • 返回响应

禁止:

  • 写 SQL
  • 直接操作 Mapper

3.2 Service 层

  • 核心业务逻辑
  • 事务边界
  • 多 Mapper 组合
@Transactional
public void createOrder() {
}

3.3 Mapper 层

  • 数据库访问
  • SQL 定义
  • 不写业务逻辑

3.4 Entity 层

  • 表结构映射
  • 数据模型

4. 为什么不能跨层调用?

跨层调用会导致:

  • 高耦合
  • 难测试
  • 架构失控

5. 面试总结

分层架构通过明确职责边界,提高了系统的稳定性和可扩展性。