Action(controller)

Service

command

Dao

Dao.bean

bean

Action  是Struts的控制层   service是mvc中的服务层,model是java实体bean,dao是与数据库进行交互持久层,ssh中由Hibernate实现。

dao是数据访问层 就是用来访问数据库实现数据的持久化(把内存中的数据永久保存到硬盘中)。

Dao主要做数据库的交互工作 Modle 是模型 存放你的实体类 Service 做相应的业务逻辑处理 Action是一个控制器

Action是管理业务(Service)调度和管理跳转的。

Service是管理具体的功能的。

Action只负责管理,而Service负责实施。

DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊、动态、子查询都可以。但是无论多么复杂的查询,dao只是封装增删改查。至于增删查改如何去实现一个功能,dao是不管的。

总结这三者,通过例子来解释:

Action像是服务员,顾客点什么菜,菜上给几号桌,都是ta的职责;

Service是厨师,action送来的菜单上的菜全是ta做的;

Dao是厨房的小工,和原材料打交道的事情全是ta管。

转载自:https://www.cnblogs.com/linkzijun/p/6058885.html

转载于:https://www.cnblogs.com/TJessica/p/10249520.html

Java各层之间的关系相关推荐

  1. 控制层远程调用业务层_如何应用数据访问服务层分离系统中的业务层和持久层之间耦合关系...

    软件项目实训及课程设计指导--如何应用数据访问服务层分离业务层和持久层之间耦合关系 作者已经在本系列文章<软件项目实训及课程设计指导--如何正确地设计J2EE应用系统持久层中的各个组件结构及关系 ...

  2. java各层之间的调用关系dao_MVC的dao层、service层和controller层

    1.dao层 dao层主要做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,dao层的设计首先是设计dao层的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可以再模块中调用 ...

  3. Dao层、Service层和Controller层之间的关系

    主要思想是面向接口编程.表示层调用控制层,控制层调用业务层,业务层调用数据访问层.是为了解耦和.提高代码复用. Dao层 Dao层主要做数据持久层的工作, 负责与数据库进行联络的一些任务都封装在此 D ...

  4. EMAC和PHY层之间的关系以及在通信架构划分情况

    EMAC 转载 2017年11月20日 15:46:31 149 以太网卡中数据链路层的芯片一般简称之为MAC控制器,物理层的芯片我们简称之为PHY.许多网卡的芯片把MAC和PHY的功能做到了一颗芯片 ...

  5. Java与云计算有什么关系呢

    在如今这个信息技术高速发展的今天,云计算已经不是一个陌生的概念了,但是,当云计算遇到java将会有什么样的问题产生呢?下面,新霸哥将会为你揭晓Java与云计算之间的关系. 众所周知,java是一种应用 ...

  6. Java设计模式、框架、架构、平台之间的关系

     1.设计模式 为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单.那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类.对象和接口之间的关系,是前人总结的 ...

  7. java中文件名和类名之间的关系

    在java里,文件名与类名之间的关系,有下面这些约束: Java保存的文件名必须与类名一致 如果文件中只有一个类,文件名必须与类名一致 一个Java文件中只能有一个public类 果文件中不止一个类, ...

  8. spring boot 菜鸟教程学习:spring是一个超级大工厂能够管理java对象(bean)和他们之间的关系(依赖注入)

    springboot的java对象叫做bean 用一个叫依赖注入的方法来管理bean的依赖关系 说白了 就是bean是节点 依赖注入能够构建节点之间的关系 创建bean的三种方式 如何依赖注入?

  9. jakarta ee_Jakarta EE,EE4J和Java EE之间的关系

    jakarta ee Jakarta EE的名称已经存在了一个多月,即使Mike Milinkovich在他的博客文章" The Name Is-"中很好地解释了名称和概念,但对于 ...

最新文章

  1. Java中的微信支付(1):API V3版本签名详解
  2. linux之cal命令详解,linux命令大全之cal命令详解(显示日历)
  3. 【机器学习算法专题(蓄力计划)】九、机器学习中数据的假设检验
  4. 正则实现二代身份证号码验证详解
  5. VS Code编译C/C++
  6. ubuntu下C语言打开bmp图像文件并读取数据
  7. oncreate 测量尺寸
  8. 难得干货,揭秘支付宝的2维码扫码技术优化实践之路
  9. 边缘计算(二)边缘计算与智能制造
  10. word文档中删除空行(段落空行与缩进空行)
  11. python另存为excel_python 将数据保存为excel的xls格式(实例讲解)
  12. Oracle 18c新特性一览
  13. ean13码 oracle,Code 128码与EAN 13码的区别
  14. 亚马逊服务器 购买 流程_亚马逊环如何使我们对购买的每种产品都抱有偏执
  15. 互联网医疗的千姿百态:火热、亏损、巨头亲赖
  16. 下级对上级认可应该用什么词_下级对上级的成语-上级听取下级的词语-下级称赞上级领导的词语...
  17. maven { url ‘https://www.jitpack.io‘ }在新版Android Studio中的位置
  18. 利用html完成简单的登录网站页面
  19. 使用developerWorks进行创作
  20. 代码实现pe文件图标替换

热门文章

  1. 《并行计算的编程模型》一1.10 MPI开发心得
  2. 【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏...
  3. 飞利浦 TASY 电子病历系统中存在严重漏洞,可暴露患者记录
  4. sql server 中后缀为.mdf的文件是干什么用的??
  5. 「大学生学编程系列」第六篇:如何学习C语言?
  6. 360推出国内首个工业互联网安全态势感知系统
  7. thinkphp3.2 不同域名配置不同分组设置
  8. Leetcode c语言-Implement strStr()
  9. VMware快照的工作原理
  10. How to install innotop and percona tookit on centos