springboot三层架构详细讲解

目录

  • springBoot三层架构
    • 0.简介
    • 1.各层架构
      • [1.1 Controller层](#1.1 Controller层)
      • [1.2 Service层](#1.2 Service层)
      • [1.3 ServiceImpl](#1.3 ServiceImpl)
      • [1.4 Mapper](#1.4 Mapper)
      • [1.5 Entity](#1.5 Entity)
      • [1.6 Mapper.xml](#1.6 Mapper.xml)
    • 2.各层之间的联系
      • [2.1 Controller 与 Service](#2.1 Controller 与 Service)
      • [2.2 Service 与 ServiceImpl](#2.2 Service 与 ServiceImpl)
      • [2.3 Service 与 Mapper](#2.3 Service 与 Mapper)
      • [2.4 Mapper 与 Mapper.xml](#2.4 Mapper 与 Mapper.xml)
      • [2.5 Service 与 Entity](#2.5 Service 与 Entity)
      • [2.6 Controller 与 Entity](#2.6 Controller 与 Entity)
    • 3.框架图
    • 4.总结

springBoot三层架构

0.简介

Spring Boot 的三层架构指的是:
1.表示层:这一层通常由 Controller 组成,负责处理 HTTP 请求和向用户展示信息。
2.业务逻辑层:包含 Service 接口及其实现类(ServiceImpl),处理应用程序的核心业务逻辑。
3.数据访问层:由 Mapper 接口和 Mapper.xml 文件组成,负责与数据库交互,执行 CRUD操作。

1.各层架构

1.1 Controller层

作用:处理 HTTP 请求和返回响应给客户端。

结构:通常继承自 @RestController 或使用 @Controller 加上 @RequestMapping。

功能:接收用户输入,调用 Service 层的业务逻辑,处理业务后返回结果。

1.2 Service层

作用:定义业务逻辑。

结构:接口(Service)和实现类(ServiceImpl)。

功能:包含业务操作的抽象和实现,被 Controller 层调用,调用 Mapper 层的数据库操作。

1.3 ServiceImpl

作用:Service 接口的具体实现。

结构:继承或实现 Service 接口,使用 @Service 注解。

功能:实现 Service 层接口中定义的方法,处理具体的业务逻辑,调用 Mapper 层。

1.4 Mapper

作用:数据库操作的抽象。

结构:接口,使用 @Mapper 注解,通常结合 MyBatis 使用。

功能:定义对数据库的 CRUD 操作(创建、读取、更新、删除)。

1.5 Entity

作用:数据实体的抽象。

结构:Java 类,通常包含字段、getter/setter 方法、toString 方法等。

功能:代表数据库中的表,字段对应表的列,用于数据传输和映射。

1.6 Mapper.xml

作用:MyBatis 的映射文件,包含 SQL 语句。

结构:XML 文件,与 Mapper 接口的命名空间相对应。

功能:包含具体的 SQL 语句,与 Mapper 接口中的方法相对应,MyBatis 通过这个文件将方法调用映射到 SQL 执行。

2.各层之间的联系

2.1 Controller 与 Service

Controller 调用 Service 的接口方法来处理业务逻辑,Service 处理完毕后将结果返回给 Controller,Controller 再将结果响应给客户端。

2.2 Service 与 ServiceImpl

Service 是业务逻辑的接口,ServiceImpl 是 Service 接口的具体实现,ServiceImpl 实现了 Service 定义的所有方法。

2.3 Service 与 Mapper

Service 层通过调用 Mapper 层的接口方法来执行数据库操作,Mapper 层返回操作结果给 Service 层。

2.4 Mapper 与 Mapper.xml

Mapper 接口中定义的方法会映射到 Mapper.xml 中的 SQL 语句,MyBatis 框架负责将接口方法的调用转换为实际的 SQL 执行。

2.5 Service 与 Entity

Service 层在处理业务时,会使用 Entity 作为数据传输对象(DTO),将数据库的数据封装为 Entity 对象,或将 Entity 对象的数据持久化到数据库。

2.6 Controller 与 Entity

Controller 层接收来自客户端的数据,通常将这些数据封装到 Entity 对象中,然后传递给 Service 层处理;同样,Service 层处理完毕后,可以将 Entity 对象转换为响应数据发送给客户端。

3.框架图

4.总结

Spring Boot架构通过其分层设计,提供了一种清晰、模块化的代码组织方式,使得应用开发更加灵活和可维护。它简化了配置和部署流程,支持快速开发和微服务架构,同时整合了大量常用的开发组件,降低了项目搭建和维护的复杂性。此外,Spring Boot的自动配置、健康检查和监控功能,进一步提高了开发效率和应用的可观测性。

相关推荐
浩泽学编程1 天前
【源码深度 第1篇】LinkedList:双向链表的设计与实现
java·数据结构·后端·链表·jdk
哲此一生9841 天前
创建一个SpringBoot项目(连接数据库)
java·spring boot·后端
摇滚侠1 天前
Spring Boot 3零基础教程,WEB 开发 HttpMessageConverter @ResponseBody 注解实现内容协商源码分析 笔记33
java·spring boot·笔记
计算机毕业设计小帅1 天前
【2026计算机毕业设计】基于Springboot的校园电动车短租平台
spring boot·后端·课程设计
调试人生的显微镜1 天前
Web前端开发工具实战指南 从开发到调试的完整提效方案
后端
Java水解1 天前
【SQL】MySQL中空值处理COALESCE函数
后端·mysql
Python私教1 天前
DRF:Django REST Framework框架介绍
后端·python·django
间彧1 天前
Java HashMap如何合理指定初始容量
后端
用户4099322502121 天前
PostgreSQL全表扫描慢到崩溃?建索引+改查询+更统计信息三招能破?
后端·ai编程·trae
PFinal社区_南丞1 天前
PostgreSQL-10个鲜为人知的强大功能
数据库·后端