程序调用流程 :

这是典型的 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 → 前端:
- 数据库返回数据给 Repository
- Repository 将数据封装为实体对象(Entity)返回给 Service
- Service 对数据进行业务处理 / 转换后,返回给 Controller
- Controller 将结果序列化为 JSON/XML 等格式,返回给前端