[Java EE 进阶] Spring Boot 三层架构 + 数据访问层

程序调用流程 :

这是典型的 Spring Boot 三层架构 + 数据访问层 调用链路,从前端请求到数据库响应的完整流程如下:


1. 前端发起请求

前端(浏览器 / 客户端)通过 HTTP 请求(如 GET/POST)访问后端接口,请求到达 @Controller

2. Controller 接收请求
  • @Controller 负责接收并解析 HTTP 请求参数、校验请求合法性
  • 它不处理业务逻辑,仅将请求转发给对应的 @Service
  • 示例:@GetMapping("/user/{id}") 会调用 UserService.getUserById(id)
3. Service 处理业务逻辑
  • @Service 是核心业务层,实现具体的业务规则、事务管理、数据组合等
  • 它调用 @Repository 层完成数据的增删改查(CRUD)操作
  • 示例:UserService.getUserById(id) 内部会调用 UserRepository.findById(id)
4. Repository 数据访问
  • @Repository 是数据访问层(DAO),负责与数据库交互
  • 它封装了 SQL/ORM 操作,将 Service 层的请求转换为数据库可执行的操作
  • 示例:UserRepository.findById(id) 会执行 SELECT * FROM user WHERE id = ?
5. 数据库交互

Repository 层与 数据库(DB) 通信,执行 SQL 并获取查询结果

6. 结果逐层返回

数据库结果 → Repository → Service → Controller → 前端:

  1. 数据库返回数据给 Repository
  2. Repository 将数据封装为实体对象(Entity)返回给 Service
  3. Service 对数据进行业务处理 / 转换后,返回给 Controller
  4. Controller 将结果序列化为 JSON/XML 等格式,返回给前端
相关推荐
我登哥MVP15 天前
SpringCloud Alibaba 核心组件解析:服务链路追踪
java·spring boot·后端·spring·spring cloud·java-ee·maven
我命由我1234515 天前
Jetpack Room - Room 查询返回列表无需判空、LIKE 关键字
android·java·开发语言·java-ee·android jetpack·android-studio·android runtime
Yvonne爱编码16 天前
JAVA EE初阶---DAY 2 计算机网络
java·开发语言·计算机网络·算法·java-ee·php
我命由我1234516 天前
RFID 技术极简理解
java·c语言·c++·嵌入式硬件·物联网·visualstudio·java-ee
CoderYanger16 天前
Java EE:6.网络编程套接字(第二弹)
java·网络·程序人生·面试·职场和发展·java-ee·学习方法
我命由我1234516 天前
Android 开发问题:EditText 控件的 android:imeOptions=“actionDone“ 属性不生效
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
我登哥MVP16 天前
SpringCloud Alibaba 核心组件解析:服务熔断和降级
java·spring boot·后端·spring·spring cloud·java-ee·maven
我命由我1234516 天前
Android 开发问题:获取到的 Android ID 发生了变化
android·java·开发语言·java-ee·android studio·android jetpack·android runtime
我登哥MVP16 天前
SpringCloud Alibaba 核心组件解析:服务调用和负载均衡
java·spring boot·后端·spring·spring cloud·java-ee·负载均衡
我命由我1234516 天前
Android 开发问题:Unable to find explicit activity class
android·java·java-ee·android studio·android jetpack·android-studio·android runtime