当前位置: 代码网 > it编程>编程语言>Java > SpringBoot项目中各层的关系及作用说明

SpringBoot项目中各层的关系及作用说明

2026年03月11日 Java 我要评论
一、controller(控制层)顾名思义,业务控制,就是控制业务层service的,它的作用主要是架起了外界与业务层沟通的桥梁,移动端,前端在调用接口访问相关业务时,都会通过controller,由

一、controller(控制层)

顾名思义,业务控制,就是控制业务层service的,它的作用主要是架起了外界与业务层沟通的桥梁,移动端,前端在调用接口访问相关业务时,都会通过controller,由controller去调相关的业务层代码并把数据返回给移动端和前端。

特点:

  • controller层为控制层,一般使用 @restcontroller 或 @controller 注解来标识。
  • 在 spring boot 中,控制层负责接收请求并将请求转发到相应的服务层进行处理,同时将处理结果返回给客户端。
  • 导入service层,调用你service方法,controller通过接收前端传来的参数进行业务操作,在返回一个指定的路径或数据表。

二、service(业务管理层)

业务层,所有的内部的业务逻辑都会放在这里处理,比如用户的增删改查,或者发送个验证码或邮件,或者做一个抽奖活动等等等等,都会在service中进行,当然,业务离肯定是离不开数据的支持,因此是必不可少的。

特点:

  • service层为服务层,一般使用 @service 注解来标识。
  • 在 spring boot 中,服务层负责实现业务逻辑。它们相当于一系列操作的组合,常见的操作有查询、修改、删除等。
  • 不直接对数据库进行操作,有接口和接口实现类,提供controller层调用方法

三、dao(mapper层)

数据持久化层,就是和数据库打交道的,而实现持久化层的框架又有很多,而常用的有两种:jpa和mybatis,jpa是springboot官方的,前身就是著名的三大框架之一的hibernate,好处是不用手写sql(当然它也支持手写,如果必要的话),国外用的比较多,而mybatis则在国内比较流行,原因是它的灵活性非常高,但是需要手写sql语句。

特点:

  • dao层为数据访问层,数据访问层通常使用 jpa 或 mybatis 等 orm 框架来简化数据库操作。
  • 在 spring boot 中,数据访问层是与数据库进行交互的层次,负责对数据库进行增删改查等操作。
  • 针对数据库操作,基本上用的就是增删改查,就是一个接口,只有方法名,具体实现在mapper.xml中

四、entity(实体层)

实体层主要用于定义业务领域中的实体对象,比如用户、产品、订单等。这些实体类通常包含属性、方法和与数据库表字段的映射关系,用于封装和操作数据。

  • entity层为实体层,实体层一般使用 @entity 注解来标识。
  • 在 spring boot 中,实体层负责表示具体的数据模型。这些模型映射到数据库中的表结构。它们包含所有操作此实体类对象的方法,比如查询、添加、删除等。
  • 存放的是实体类,属性值与数据库值保持一致,实现setter和getter方法

注:也有不同的写的是四层,即controller层、service层、dao层和entity层

五、configuration(配置层)

配置层在spring boot应用程序中扮演着至关重要的角色。它负责管理应用程序的配置信息,并提供对各种配置选项的灵活性和可定制性。(其在运行程序的时候会优先加载)

  • configuration层为配置层,配置层一般使用 @configuration 注解来标识。
  • 在 spring boot 中,配置层是整个系统的配置中心,负责定义和管理 spring boot 应用程序的配置信息。

六、utils(工具层)

  • utils层为工具类层,可以自定义工具类,并使用 @component 注解将其注入到容器中。
  • 在 spring boot 中,工具类层负责封装一些常用的工具方法,例如日期格式化、加密解密等。

七、架构图例和图解

-----------------------------------------
|              presentation layer        |
-----------------------------------------
|               web controllers          |
-----------------------------------------
|                                       |
-----------------------------------------
|               service layer            |
-----------------------------------------
|               business services       |
-----------------------------------------
|                                       |
-----------------------------------------
|             data access layer          |
-----------------------------------------
|               repositories             |
|               orm framework            |
|               database                 |
-----------------------------------------
|                                       |
-----------------------------------------
|               utility layer            |
-----------------------------------------
|             utility/helper classes     |
-----------------------------------------

​总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com