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