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

相关推荐
向前看-2 小时前
验证码机制
前端·后端
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭3 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
工业甲酰苯胺3 小时前
分布式系统架构:服务容错
数据库·架构
超爱吃士力架3 小时前
邀请逻辑
java·linux·后端
Java程序之猿5 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
AskHarries5 小时前
Spring Cloud OpenFeign快速入门demo
spring boot·后端
isolusion6 小时前
Springboot的创建方式
java·spring boot·后端
Yvemil77 小时前
《开启微服务之旅:Spring Boot Web开发举例》(一)
前端·spring boot·微服务
zjw_rp7 小时前
Spring-AOP
java·后端·spring·spring-aop