SpringBoot项目中各层的关系和作用

目录

一、Controller(控制层)

 二、Service(业务管理层)

三、Dao(Mapper层)

四、Entity(实体层)

五、configuration(配置层)

六、Utils(工具层)

七、架构图例和图解 


一、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     |
-----------------------------------------

  • 11
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值