spring boot框架中的各个层简介

dao层

dao层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查,对外提供稳定访问数据库的方法。

 mapper层

 与dao层功能相同。对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作。

dao层和mapper层的一些细微区别:

  • mapper是Mybatis框架中的一个概念,定义了SQL语句和Java方法的映射关系,负责执行SQL语句并将结果映射为Java对象,实现数据的读取和写入。
  • dao是一种设计模式,主要思想是将数据访问逻辑和业务逻辑分开,通提供一组接口或类来定义对数据的增删改查等操作。

service层

Service是管理具体的功能的接口。

impl层

impl层 是继承service、dao层具体的实现类,放在service层下。

util层

Util是utiliy的缩写,是一个多功能、基于工具的包。如字符串处理、日期处理等,(建立数据库之间的连接)。

entity层

这个类的属性是跟数据库字段一模一样的(驼峰命名),当我们使用MyBatis-Plus的时候经常用得到。

dto层

用于后端接收前端返回的数据,一般是post请求,前端会给我们返回一个json对象,我们这个dto就用于接收这个json对象,dto的每个属性名和json对象的key是对应的。

vo层

用于返回数据给前端,也就是说当我们在写业务的时候,前端不一定要全部的数据,他有可能只需要三四个,或者更少的数据,这时候我们就需要用到vo了,我们只需要在vo里面写三四个属性就好了,直接把这个vo返回给前端。

entity,dto,vo有区别。举个例子:

现有学生实体类(entity),属性包括:id、学号、姓名、班级、性别、院系、专业(与数据库里的字段完全一致);但是现在前端的业务只需要返回学生的 学号、姓名、班级、专业 ,这时如果使用entity返回对象数据则会造成不必要的数据泄露(id、性别等),所以,这里采用数据传输对象(DTO)会更好一些,这个DTO只需要包含需要的属性即可。

DTO和VO的区别:

1.DTO 通常封装一些业务逻辑和数据转换的方法,用于将数据从数据库中查询出来,并将其转换为前端需要的格式。而 VO 通常只包含数据属性,不包含任何业务逻辑。

2.DTO 可以包含数据库中的全部属性,也可以只包含部分属性,具体根据业务需求而定。而 VO 只包含需要在前端页面上显示的属性,不包含敏感数据和不必要的属性。 

common层

 常用的公共模块或工具集合,可以被其他模块或业务代码依赖和调用。如日志记录、配置读取、异常处理等,将这些公共功能封装成common层。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------一些学习笔记----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值