java中Action层、Service层和Dao层的功能区分 (通俗易懂)

java中Action层、Service层和Dao层的功能区分 (通俗易懂)

一、Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的。 Service是管理具体的功能的。 Action只负责管理,而Service负责实施。 DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊、动态、子查询都可以。但是无论多么复杂的查询,dao只是封装增删改查。至于增删查改如何去实现一个功能,dao是不管的。 总结这三者,通过例子来解释: Action像是服务员,顾客点什么菜,菜上给几号桌,都是ta的职责; Service是厨师,action送来的菜单上的菜全是ta做的; Dao是厨房的小工,和原材料打交道的事情全是ta管。 相互关系是,小工(dao)的工作是要满足厨师(service)的要求,厨师要满足服务员(action)转达的客户(页面用户)的要求,服务员自然就是为客户服务喽。 现在最基本的分层方式,结合了SSH架构。Model层就是对应的数据库表的实体类。Dao层是使用了hibernate连接数据库、操作数据库(增删改查)。Service层:引用对应的Dao数据库操作。Action层:引用对应的Service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理。 以上的Hibernate, Struts,都需要注入到spring的配置文件中,Spring把这些联系起来,成为一个整体。 二、三大框架Struts/Hibernate/Spring 简单地说: Struts——控制用的; Hibernate——操作数据库的; Spring——解耦用的。 详细地说: 1.Struts在SSH框架中起控制的作用,其核心是Controller,即ActionServlet,而ActionServlet的核心就是Struts-config.xml,主要控制逻辑关系的处理。 Hibernate是数据持久化层,是一种新的对象、关系的映射工具,提供了从Java类到数据表的映射,也提供了数据查询和恢复等机制,大大减少数据访问的复杂度。把对数据库的直接操作,转换为对持久对象的操作。

🔍 相关推荐