SpringBoot分层和controller层、service层、DAO层、model层、Entity层、View层、Utils层等理解【杭州多测师_王sir】

一、SpringBoot分层结构解析

1.开放接口层: 可直接封装 Service 方法暴露成 RPC 接口,通过 Web 封装成 http 接口;进行 网关安全控制、流量控制等。
2.终端显示层: 各个端的模板渲染并执行显示的层。当前主要是 velocity 渲染,JS 渲染, JSP 渲染,移动端展示等。
3.Web 层: 主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。
4.Service 层: 相对具体的业务逻辑服务层和事务。
5.Manager 层: 通用业务处理层,它有如下特征:
A)对第三方平台封装的层,预处理返回结果及转化异常信息;
B)对 Service 层通用能力的下沉,如缓存方案、中间件通用处理;
C)与 DAO 层交互,对多个 DAO 的组合复用。
6.DAO 层: 数据访问层,与底层 MySQL、Oracle、Hbase 等进行数据交互。
7.外部接口或第三方平台: 包括其它部门 RPC 开放接口,基础平台,其它公司的 HTTP 接口
8.model层:model层,又称:数据访问层,一张表对应一个实体类

 

二、SpringBoot分层结构解析

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层进行传递的。

 

详细参考:
https://blog.csdn.net/fztsilly/article/details/113888863
https://blog.csdn.net/m0_62314761/article/details/127282881
https://blog.csdn.net/qq_43379465/article/details/122595716
https://blog.csdn.net/weixin_44100826/article/details/103230460

 

posted @ 2023-08-30 15:06  多测师_王sir  阅读(814)  评论(0编辑  收藏  举报