Dao层、Service层和Controller层之间的关系
主要思想是面向接口编程。表示层调用控制层,控制层调用业务层,业务层调用数据访问层。是为了解耦和、提高代码复用。
Dao层
Dao层主要做数据持久层的工作,
负责与数据库进行联络的一些任务都封装在此
Dao层的设计
- 设计Dao层的接口
- 在Spring的配置文件中定义此接口的实现类
- 在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类
显得结构非常清晰,Dao层的数据源配置,以及有关数据库连接参数都在Spring配置文件中进行配置。
Dao接口中的方法都大同小异,因为对数据库的基本操作类似:insert、delete、update,select,也就是增删改查。 在Dao层定义的一些方法,在Service层并没有被使用的情况:Dao层的操作经过抽象后基本都是通用的,在Dao层完成相关方法的定义,有利于支持后期Service层的扩展。Dao会根据业务需求,构造SQL语句,构造参数,调用帮助类,获取结果
Service层
Service层主要负责业务模块的应用逻辑应用设计。将表示层与Dao数据访问层之间联系起来。所要负责的,就是处理涉及业务逻辑相关的问题,比如在调用访问数据库之前,先处理数据、判断数据。
- 设计接口
- 设计其实现类
- 在Spring的配置文件中配置其实现的关联。
这样就可以在应用中调用Service接口来进行业务处理。Service层的业务层具体要调用已经定义的Dao层接口,封装service层业务逻辑有利于通用的业务逻辑的独立性和重复利用性.
Controller层
Controller层负责具体的业务模块流程的控制。在此层要调用service层的接口来控制业务流程。负责url映射(action)。控制的配置也同样是在Spring的配置文件里进行,针对具体的业务流程,会有不同的控制器。我们具体的设计过程可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块。这样不仅使程序结构变得清晰,也大大减少了代码量。
关系:
Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是Controller层之下的,因而 Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。
每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。
参考链接:https://blog.csdn.net/qq_44645822/article/details/112061942
参考链接:https://blog.csdn.net/huangxiaozuo/article/details/71178445
参考链接:https://blog.csdn.net/weixin_42153410/article/details/90753696
Dao层、Service层和Controller层之间的关系相关推荐
- 三层架构编程、DAO层、Entity层、Service层、Controller层
什么是三层架构编程: 本质上所有的项目(应用程序)都是需要和用户交互,然后产生数据,对数据进行处理,最后将数据存储到硬盘这么个过程 在编程中,可以将这个过程分一下层次,最初只分两层,用户层和数据层,但 ...
- mybatis Dao层 Mapper层 controller层 service层 model层 entity层 简介
简介 SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层.存放我们的实体类,与数据库中的属性值基本保 ...
- 实战SSM_O2O商铺_41【前端展示】店铺列表页面Dao+Service+Controller层的实现
文章目录 概述 Dao层 接口 映射文件 单元测试 Service层 接口方法 单元测试 Controller层 增加 ShopListController 单元测试 Github地址 概述 在完成了 ...
- DAO层、ENTITY层、SERVICE层、CONTROLLER层
dao层.entity层.service层.controller层 2018年08月09日 11:02:31 一江春华终散去 阅读数:3074 版权声明:本文为博主原创文章,未经博主允许不得转载. h ...
- SpringBoot框架中的DAO(mapper)层、Entity层、Service层、Controller层
Entity层:实体层 数据库在项目中的类 Entity层是实体层,也就是所谓的model,也称为pojo层,是数据库在项目中的类,该文件包含实体类的属性和对应属性的set.get方法: DAO层: ...
- pojo层、dao层、service层、controller层的作用
pojo层(model) 实体层 数据库在项目中的类 model是模型的意思,与entity.domain.pojo类似,是存放实体的类. 类中定义了多个类属性,并与数据库表的字段保持一致,一张表对应 ...
- Entity层、DAO层、Service层、Controller层 先后顺序
写法顺序: 1.数据库表 2.实体层 3.DAO层写接口 4.Mapper层写和DAO层对应的映射规则,即SQL和POJO的映射规则.其中<select>元素定义的resultType指向 ...
- Spring boot 三层框架dao层、service层、controller层+实体model层
Spring boot 三层框架dao层.service层.controller层+实体model层 model层 dao层 service层 controller层 首先创建一个springboot ...
- SpringBoot框架分层(View层、Controller层、Service层、Mapper层、pojo层)
SpringBoot框架一般分为View层.Controller层.Service层.Mapper层.pojo层. View层:视图层,根据接到的数据展示页面给用户 Controller层:响应用户需 ...
- java dao domain_java service domain dao 分层思路
从最常规的分层结构来说,系统层次从上到下依次为: 表现层:主要是客户端的展示. 服务层:直接为客户端提供的服务或功能.也是系统所能对外提供的功能. 领域层:系统内的领域活动. DAO层:数据访问对象, ...
最新文章
- python主流版本-python主流版本
- 开心网分析,师从“中国缘”
- php制作404,利用thinkphp怎么制作一个404跳转页面
- html定义最小宽度,line-block的运用:最小宽度的设置
- DSOFramer使用说明(转载)))
- 《写给程序员的数据挖掘实践指南》——5.2. 10折交叉验证的例子
- oracle修改实例监听端口,oracle之 单实例监听修改端口
- [bzoj1001]狼抓兔子 最小割
- pyserial查看串口
- Android权限动态权限修改和其他的Android配置修改
- 向ftp上传文件失败的可能原因
- matlab randn 范围,如何用matlab编写randn函数?
- Intellij Idea 全屏设置
- QColor类的使用
- 用matlab实现熵权法,熵权法原理及matlab代码实现
- java使用jol打印对象信息
- js onmousemove使用注意:进入onmousemove不代表移动鼠标
- pearsonr(x,y)、corr()、corrcoef(u1) 相关系数计算
- 网站(B/s)架构发展探索、分析
- AppWidget(桌面小部件)
热门文章
- html5css如何引用,html如何调用外部css
- 测试软件响应时间需求,性能测试知多少---性能需求分析
- H3C系列交换机密码恢复方法
- c语言中关于scanf输入与%c和%s的使用问题(附带缓冲区讲解)
- shell语法----文件重定向
- 网站蓝图 Axure RP高保真网页原型制作 中文PDF扫描版[89MB] 全彩版
- Blender 同时修改多个物体数据
- Golang GC算法
- 土狗的小抄本 -- 使用ErrorProne 做代码检查
- FCPX插件-16个手绘卡通素描涂鸦图形文字标题动画 Scribble Sketch Lower Thirds