Spring Boot中DAO层和Service层等理解

发布于:2022-11-09 ⋅ 阅读:(1286) ⋅ 点赞:(1)

目前在公司实习python算法研究,但是个人对Spring Boot有较大兴趣。在刚开始学习过程中对其中的一些概念不是很清晰,故写个博客记录一下。下图是项目开发和业务逻辑设计的一般框架和流程图。
在这里插入图片描述

1 DAO层

DAO:Data Access Object(数据访问层),负责数据持久化工作。DAO层负责与数据库进行交互,封装对数据库的访问,涉及数据的增删改查处理(不涉及业务逻辑)。

2 Service层

Service:业务层,负责业务模块的逻辑应用设计。在项目的开发过程中一般先设计所需的业务接口类,之后再通过类来实现该接口(Java中接口可以多继承,而类不能),然后在Config文件中进行配置其实现的关联。之后就可以在Service层调用接口进行业务逻辑应用的处理。封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。

3 Controller层

Controller:控制层,负责控制业务逻辑(例如登陆控制等具体的业务模块逻辑控制)。通常扮演负责控制处理Web前端发送的数据。Controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也需要在配置文件中进行。

[—注意—]
Conroller层和Service层的区别是:Controlle层负责具体的业务模块流程的控制;Service层负责业务模块的逻辑应用设计;

4 Entity层

Entity:实体层,数据库在项目中的类。放置一个个实体,及其相应的set、get方法。
Entity层中的类大多数是数据方面的,例如数据库中有负责登陆的User表(ID、UserName,Password),在Entity层就需要用private关键字定义与数据库中一样的字段(ID、UserName,Password)以及这些字段的get、set方法(方法可以Override)。

5 View层

View:通常指展示层,View层与控制层结合比较紧密,需要二者结合起来协同开发。View层主要负责前端页面的显示。

6 Utils层

Util是utiliy的缩写,是一个多功能、基于工具的包。如字符串处理、日期处理等,(建立数据库之间的连接),是通用的、与业务无关的,可以独立出来,可供其他项目使用。

总结

开发具体项目时,Controller层调用Service层的方法,Service层调用Dao层中的方法,其中调用的参数是使用Entity层进行传递的。

参考博客
1.https://blog.csdn.net/Restarting2019/article/details/122296373
2.https://www.cnblogs.com/yourjohn/p/15593686.html

本文含有隐藏内容,请 开通VIP 后查看