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的自动配置、健康检查和监控功能,进一步提高了开发效率和应用的可观测性。

相关推荐
kfaino15 小时前
码农的AI翻身(三)你好,我叫 Embedding
后端·ai编程
葫芦和十三15 小时前
图解 MongoDB 18|复制集拓扑:Primary、Secondary 和 Arbiter 的分工
后端·mongodb·面试
爱勇宝15 小时前
大多数人不是在使用 AI 赚钱,而是在帮 AI 公司赚钱
前端·后端·程序员
程序员cxuan18 小时前
虽迟但到!GPT-5.6 终于来了!
人工智能·后端·程序员
IT_陈寒20 小时前
React的这个渲染问题连官方文档都没说清楚
前端·人工智能·后端
葫芦和十三21 小时前
图解 MongoDB 15|journal 与持久化:写入怎么不丢,崩溃怎么恢复
后端·mongodb·面试
葫芦和十三21 小时前
图解 MongoDB 16|压缩:snappy、zstd 和 zlib 的取舍
后端·mongodb·面试
苍何1 天前
终于找到免费开源TTS模型,克隆声音不要钱,本地电脑也能跑
后端
用户593608741401 天前
Spring AI 集成 DeepSeek 原生供应商并实现think模式
后端
追逐时光者1 天前
别再满网找零散工具了,腾讯 QQ 浏览器这个“帮小忙”工具箱真能省时间
前端·后端