`
baseline
  • 浏览: 43593 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于Service和Dao的关系

    博客分类:
  • Java
阅读更多

在新的项目里,没有办法理解Service和Dao的意义,今天在晚上查找了一下 Service层的作用,在Jdon上搜到了一篇帖子,层的职责的请教,看到了里面的一些讨论,自己对这两个层次的划分也明确了许多。

Service层是业务逻辑,包括对一些数据的预处理啊,这样的一层也便于以后业务变化后,改动的代价较小(这个也是设计模式中心思想);

Dao层主要是对封装对数据库的访问,查询数据,或者对对象持久化,不应改包含任何的业务逻辑。

而且我也查看了Appfuse中的Service层和Dao层的设计,也都是遵循这个原则的,即便是在Service中代码只有一行,就是调用Dao的方法,也还是有Service类存在。所以我觉得appfuse的设计者也是对这中设计是很认同的.


       现在项目中会有的人会想要把查询 和 增删改的操作分离,个人觉得就没有这个必要了,因为有的时候,查询并不是只有查询的,而且,开发人员还要去分辨什么时候要分开,什么时候不用分,会弄的人很郁闷的,,不知道在一些大型的项目或产品中采用的是什么样的设计方式.

 

-----------

20090622

再次回顾这篇文章,其实,这就是一个软件的设计的概念--分层。

横向的分层:业务层和数据库访问层。如果系统的数据库替换,我们会很容易更改数据库层。

纵向的分层:按业务的种类划分层次。比如:用户管理模块,配置管理模块等。

 

 

分享到:
评论

相关推荐

    crm项目jsp+servlet+service+dao

    在CRM项目中,JSP作为View层负责显示数据,Servlet作为Controller层处理请求和转发,而Service和DAO层则构成了Model层,处理业务逻辑和数据存储。 6. 数据库设计:CRM系统通常涉及到客户信息、销售数据、订单记录等...

    jsp、servlet进行增删改查,dao层和service层分开

    在Java Web开发中,"jsp、servlet进行增删改查,dao层和service层分开"是一种常见的设计模式,它遵循了MVC(Model-View-Controller)架构,旨在提高代码的可维护性和可扩展性。以下是这个模式的详细解释: 1. **...

    SSM框架下基本的mapper,dao,service,controller等相关文件的整理

    在SSM框架中,mapper、dao、service、controller等相关文件是非常重要的组件,它们之间的关系和调用顺序非常关键。下面,我们将对这些组件进行详细的解释和整理。 Mapper文件 Mapper文件是MyBatis框架中的一个核心...

    03---Controller-Service-Dao.zip

    这个名为"03---Controller-Service-Dao.zip"的压缩包很可能包含了关于这种模式的具体实现示例。下面将详细解释Controller、Service和Dao三层及其在实际应用中的作用。 1. **Controller层**: Controller层是用户...

    hibernate4 通用dao,service

    由于没有具体的文件列表,我们无法详细讨论每个文件的内容,但根据标题和描述,我们可以推断这是一个关于使用Hibernate4创建通用DAO和Service的教程或资源,旨在帮助Java开发者理解和应用这种模式来提高开发效率。...

    springMVC基本配置(Controller+Service+Dao)

    SpringMVC通过DI管理对象的生命周期和依赖关系。`@Autowired`注解用于自动将依赖注入到需要的对象中,而无需手动创建对象。Spring容器会在启动时扫描所有带有`@Component`(包括`@Controller`、`@Service`、`@...

    ssh.rar_Action!_service dao_ssh action_ssh com.dao_ssh dao

    在“service_dao”标签中,Service层是业务逻辑的封装,负责处理复杂的业务规则和事务管理。它通常调用DAO层来与数据库交互。DAO接口定义了数据库操作,而其实现类则使用Hibernate等ORM(对象关系映射)工具来完成...

    博客系统(dao+servlet+service+vo+mysql)

    这是一个基于Web的博客系统,它集成了DAO(数据访问对象)、Servlet、Service和VO(值对象)等核心组件,用于实现完整的CRUD(创建、读取、更新、删除)操作。该系统使用MySQL作为后端数据库,提供了方便的数据存储...

    根据数据库快速生成 dao - entity - service - controller - jsp 代码

    通过ORM(对象关系映射)框架如Hibernate或MyBatis,可以根据数据库表结构自动生成对应的DAO接口和实现类。这些类通常包括查询、插入、更新和删除等方法,使得数据库操作更加规范和便捷。 2. **Entity层**:Entity...

    关于DAO的相关论文

    6. 分层架构:DAO模式是分层架构的一部分,常与Service层和Controller层配合使用。Service层负责业务逻辑,调用DAO层进行数据操作,而Controller层处理用户请求并调用Service层。 7. 扩展性:DAO模式使得添加新的...

    Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合

    - **Spring**:用于Service层和DAO层,提供依赖管理和事务管理等功能。 - **Hibernate**:用于DAO层,负责对象关系映射(ORM),使得Java对象能够与数据库表相对应。 3. **配置文件**:配置文件是Spring框架中的...

    浅谈Action+Service +Dao 功能

    Action、Service、DAO之间的关系是,小工(DAO)的工作是要满足厨师(Service)的要求,厨师要满足服务员(Action)转达的客户(页面用户)的要求。 6. Struts框架详解 Struts是在SSH框架中起控制的作用,其核心是...

    新闻发布系统设计思路(Dao与service)

    在IT行业中,新闻发布...总的来说,Dao与Service层是软件架构中的重要组成部分,它们共同协作,实现了新闻发布系统的数据管理和业务逻辑处理。理解并熟练运用这两种设计模式,能够帮助开发者构建出高效、稳定的系统。

    DWR+JPA DWR直接访问SERVICE层,并直接处理DAO返回的BEAN.doc

    在本文中,我们将深入探讨如何使用DWR与JPA结合,直接访问SERVICE层并处理DAO返回的BEAN,以及在这样做时需要注意的关键点。 首先,当我们在SERVICE层定义了MANAGER方法后,这些方法通常封装了业务逻辑。通过DWR,...

    在一个ssh框架的项目当中,页面、action、service、model、dao1

    在Service和DAO之间传递的参数通常是Model对象,这样可以确保数据的一致性,并且减少了类型转换的麻烦。 **DAO(Data Access Object)** 是数据访问对象,主要职责是与数据库进行交互,执行SQL语句,实现数据的持久...

    strut2+spring+ibatis 的ation层,service层,dao层自动生成,简单易用

    Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的Action层、业务逻辑层(Service层)以及数据访问层(DAO层)。本项目提供的是一款工具,能够自动化生成这三层的代码,极大地提高了...

    DAO 数据访问对象

    数据访问对象(DAO,Data Access Object)是一种设计模式,它在软件工程中被用来封装对数据库的操作...在Java开发中,DAO模式通常结合Spring框架和其他ORM(对象关系映射)工具一起使用,以实现高效且灵活的数据访问。

    MVC+DAO例子

    **MVC(Model-View-Controller)模式**是一种在软件工程中广泛应用的设计...通过这个例子,开发者可以学习如何在实际项目中运用MVC+DAO模式,理解它们之间的协作关系,以及如何组织代码以实现高效、可维护的Web应用。

    使用Struts+DAO+Hibernate完成用户登录 源代码

    Struts、DAO(Data Access Object)和Hibernate是Java Web开发中的三个重要框架,它们共同协作构建了一个高效且灵活的用户登录系统。以下是对这些技术及其在实现用户登录功能中的应用的详细解释: **Struts框架** ...

    基于HIbernateTemplate的代码自动生成

    这种技术可以帮助开发者自动创建数据访问对象(DAO)和业务服务层(Service)的代码,从而避免手动编写这些重复性的基础代码。 首先,我们需要理解`HibernateTemplate`。它是Spring对Hibernate提供的一个抽象层,它...

Global site tag (gtag.js) - Google Analytics