典型的基于 Spring Boot + MyBatis-Plus 的企业级后端架构流程

77 阅读2分钟

最近在跟着师傅做一个项目,师傅让我看看后端代码,我自己总结了一下这套Spring后端架构。

所以这个后端逻辑就是,springboot能检测到前端发来的请求,找到对应的controller,对应的controller找到对应的service接口,service接口找到实现类,实现类编辑逻辑操作DAO层的Mapper找xml实现具体的增删改查。成功后controller向前端发送响应。让AI帮我梳理一下就是:

Spring Boot 后端处理流程

下面是更加详细的说明:

graph TD
    A[前端发送请求] --> B[Spring Boot DispatcherServlet]
    B --> C[RequestMapping匹配到Controller]
    C --> D[Controller调用Service接口]
    D --> E[Spring注入对应的Service实现类]
    E --> F[Service实现类执行业务逻辑]
    F --> G[调用DAO层Mapper接口]
    G --> H[MyBatis执行Mapper XML中的SQL]
    H --> I[(数据库)]
    I --> H
    H --> G
    G --> F
    F --> J[处理业务结果]
    J --> K[返回结果给Controller]
    K --> L[ResponseAdvice统一处理响应]
    L --> M[返回JSON响应给前端]

    subgraph 认证拦截
    N[AuthInterceptor] --> O[检查Token认证]
    end

    B --> N
    O -->|认证通过| C

详细步骤分解:

  1. 请求接收

    • Spring Boot 的 DispatcherServlet 接收所有 HTTP 请求
    • 根据 URL 路径匹配到对应的 Controller 方法
  2. 认证拦截(如果需要):

  3. Controller 层处理

    • Controller 接收请求参数,通常封装为 BO 对象
    • 调用注入的 Service 接口方法
  4. Service 层业务逻辑

    • 实现类处理具体业务逻辑
    • 参数校验、数据处理、业务规则执行
    • 调用 DAO 层进行数据操作
  5. DAO 层数据访问

    • Mapper 接口方法调用
    • MyBatis 根据 namespace 和 method name 找到对应的 XML SQL 语句
    • 执行数据库操作并返回结果
  6. 响应处理

    • Service 处理结果返回给 Controller
    • ResponseAdvice 统一封装响应格式
    • 返回 JSON 格式的响应给前端
  7. 日志记录

这种分层架构的优点:

  • 职责分离:各层职责明确,便于维护和扩展
  • 可测试性:每层都可以独立测试
  • 可复用性:Service 和 DAO 可以被多个 Controller 复用
  • 松耦合:通过接口隔离具体实现

这就是典型的基于 Spring Boot + MyBatis-Plus 的企业级后端架构流程。