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

相关推荐
a8a30213 小时前
Laravel8.x新特性全解析
java·spring boot·后端
白露与泡影14 小时前
Spring Boot 完整流程
java·spring boot·后端
Ghost Face...14 小时前
LS2K1000启动全链路架构解析
架构
七夜zippoe14 小时前
工业物联网数据架构设计
物联网·架构·数据·工业物联网·dolphindb
Mr.Rice.Fool14 小时前
rust面试经验1
后端·面试·职场和发展·rust
黄俊懿14 小时前
MySQL主从复制:从“异步“到“GTID“,数据同步的进化之路
数据库·sql·mysql·oracle·架构·dba·db
Sam_Deep_Thinking14 小时前
中小团队需要一个资源微服务
java·微服务·架构
星辰_mya14 小时前
异地多活:单元化架构设计
微服务·架构
小鲁蛋儿15 小时前
Dynamic + ShardingSphere整合
spring boot·shardingsphere·dynamic