主要思想是面向接口编程。表示层调用控制层,控制层调用业务层,业务层调用数据访问层。是为了解耦和、提高代码复用。

Dao层

Dao层主要做数据持久层的工作,
负责与数据库进行联络的一些任务都封装在此
Dao层的设计

  1. 设计Dao层的接口
  2. 在Spring的配置文件中定义此接口的实现类
  3. 在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类

显得结构非常清晰,Dao层的数据源配置,以及有关数据库连接参数都在Spring配置文件中进行配置。
Dao接口中的方法都大同小异,因为对数据库的基本操作类似:insert、delete、update,select,也就是增删改查。 在Dao层定义的一些方法,在Service层并没有被使用的情况:Dao层的操作经过抽象后基本都是通用的,在Dao层完成相关方法的定义,有利于支持后期Service层的扩展。Dao会根据业务需求,构造SQL语句,构造参数,调用帮助类,获取结果

Service层

Service层主要负责业务模块的应用逻辑应用设计。将表示层与Dao数据访问层之间联系起来。所要负责的,就是处理涉及业务逻辑相关的问题,比如在调用访问数据库之前,先处理数据、判断数据。

  1. 设计接口
  2. 设计其实现类
  3. 在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层之间的关系相关推荐

  1. 三层架构编程、DAO层、Entity层、Service层、Controller层

    什么是三层架构编程: 本质上所有的项目(应用程序)都是需要和用户交互,然后产生数据,对数据进行处理,最后将数据存储到硬盘这么个过程 在编程中,可以将这个过程分一下层次,最初只分两层,用户层和数据层,但 ...

  2. mybatis Dao层 Mapper层 controller层 service层 model层 entity层 简介

    简介 SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层.存放我们的实体类,与数据库中的属性值基本保 ...

  3. 实战SSM_O2O商铺_41【前端展示】店铺列表页面Dao+Service+Controller层的实现

    文章目录 概述 Dao层 接口 映射文件 单元测试 Service层 接口方法 单元测试 Controller层 增加 ShopListController 单元测试 Github地址 概述 在完成了 ...

  4. DAO层、ENTITY层、SERVICE层、CONTROLLER层

    dao层.entity层.service层.controller层 2018年08月09日 11:02:31 一江春华终散去 阅读数:3074 版权声明:本文为博主原创文章,未经博主允许不得转载. h ...

  5. SpringBoot框架中的DAO(mapper)层、Entity层、Service层、Controller层

    Entity层:实体层 数据库在项目中的类 Entity层是实体层,也就是所谓的model,也称为pojo层,是数据库在项目中的类,该文件包含实体类的属性和对应属性的set.get方法: DAO层: ...

  6. pojo层、dao层、service层、controller层的作用

    pojo层(model) 实体层 数据库在项目中的类 model是模型的意思,与entity.domain.pojo类似,是存放实体的类. 类中定义了多个类属性,并与数据库表的字段保持一致,一张表对应 ...

  7. Entity层、DAO层、Service层、Controller层 先后顺序

    写法顺序: 1.数据库表 2.实体层 3.DAO层写接口 4.Mapper层写和DAO层对应的映射规则,即SQL和POJO的映射规则.其中<select>元素定义的resultType指向 ...

  8. Spring boot 三层框架dao层、service层、controller层+实体model层

    Spring boot 三层框架dao层.service层.controller层+实体model层 model层 dao层 service层 controller层 首先创建一个springboot ...

  9. SpringBoot框架分层(View层、Controller层、Service层、Mapper层、pojo层)

    SpringBoot框架一般分为View层.Controller层.Service层.Mapper层.pojo层. View层:视图层,根据接到的数据展示页面给用户 Controller层:响应用户需 ...

  10. java dao domain_java service domain dao 分层思路

    从最常规的分层结构来说,系统层次从上到下依次为: 表现层:主要是客户端的展示. 服务层:直接为客户端提供的服务或功能.也是系统所能对外提供的功能. 领域层:系统内的领域活动. DAO层:数据访问对象, ...

最新文章

  1. python主流版本-python主流版本
  2. 开心网分析,师从“中国缘”
  3. php制作404,利用thinkphp怎么制作一个404跳转页面
  4. html定义最小宽度,line-block的运用:最小宽度的设置
  5. DSOFramer使用说明(转载)))
  6. 《写给程序员的数据挖掘实践指南》——5.2. 10折交叉验证的例子
  7. oracle修改实例监听端口,oracle之 单实例监听修改端口
  8. [bzoj1001]狼抓兔子 最小割
  9. pyserial查看串口
  10. Android权限动态权限修改和其他的Android配置修改
  11. 向ftp上传文件失败的可能原因
  12. matlab randn 范围,如何用matlab编写randn函数?
  13. Intellij Idea 全屏设置
  14. QColor类的使用
  15. 用matlab实现熵权法,熵权法原理及matlab代码实现
  16. java使用jol打印对象信息
  17. js onmousemove使用注意:进入onmousemove不代表移动鼠标
  18. pearsonr(x,y)、corr()、corrcoef(u1) 相关系数计算
  19. 网站(B/s)架构发展探索、分析
  20. AppWidget(桌面小部件)

热门文章

  1. html5css如何引用,html如何调用外部css
  2. 测试软件响应时间需求,性能测试知多少---性能需求分析
  3. H3C系列交换机密码恢复方法
  4. c语言中关于scanf输入与%c和%s的使用问题(附带缓冲区讲解)
  5. shell语法----文件重定向
  6. 网站蓝图 Axure RP高保真网页原型制作 中文PDF扫描版[89MB] 全彩版
  7. Blender 同时修改多个物体数据
  8. Golang GC算法
  9. 土狗的小抄本 -- 使用ErrorProne 做代码检查
  10. FCPX插件-16个手绘卡通素描涂鸦图形文字标题动画 Scribble Sketch Lower Thirds