在新的项目里,没有办法理解Service和Dao的意义,今天在晚上查找了一下 Service层的作用,在Jdon上搜到了一篇帖子,层的职责的请教,看到了里面的一些讨论,自己对这两个层次的划分也明确了许多。
Service层是业务逻辑,包括对一些数据的预处理啊,这样的一层也便于以后业务变化后,改动的代价较小(这个也是设计模式中心思想);
Dao层主要是对封装对数据库的访问,查询数据,或者对对象持久化,不应改包含任何的业务逻辑。
而且我也查看了Appfuse中的Service层和Dao层的设计,也都是遵循这个原则的,即便是在Service中代码只有一行,就是调用Dao的方法,也还是有Service类存在。所以我觉得appfuse的设计者也是对这中设计是很认同的.
现在项目中会有的人会想要把查询 和 增删改的操作分离,个人觉得就没有这个必要了,因为有的时候,查询并不是只有查询的,而且,开发人员还要去分辨什么时候要分开,什么时候不用分,会弄的人很郁闷的,,不知道在一些大型的项目或产品中采用的是什么样的设计方式.
-----------
20090622
再次回顾这篇文章,其实,这就是一个软件的设计的概念--分层。
横向的分层:业务层和数据库访问层。如果系统的数据库替换,我们会很容易更改数据库层。
纵向的分层:按业务的种类划分层次。比如:用户管理模块,配置管理模块等。
分享到:
相关推荐
在CRM项目中,JSP作为View层负责显示数据,Servlet作为Controller层处理请求和转发,而Service和DAO层则构成了Model层,处理业务逻辑和数据存储。 6. 数据库设计:CRM系统通常涉及到客户信息、销售数据、订单记录等...
在Java Web开发中,"jsp、servlet进行增删改查,dao层和service层分开"是一种常见的设计模式,它遵循了MVC(Model-View-Controller)架构,旨在提高代码的可维护性和可扩展性。以下是这个模式的详细解释: 1. **...
在SSM框架中,mapper、dao、service、controller等相关文件是非常重要的组件,它们之间的关系和调用顺序非常关键。下面,我们将对这些组件进行详细的解释和整理。 Mapper文件 Mapper文件是MyBatis框架中的一个核心...
这个名为"03---Controller-Service-Dao.zip"的压缩包很可能包含了关于这种模式的具体实现示例。下面将详细解释Controller、Service和Dao三层及其在实际应用中的作用。 1. **Controller层**: Controller层是用户...
由于没有具体的文件列表,我们无法详细讨论每个文件的内容,但根据标题和描述,我们可以推断这是一个关于使用Hibernate4创建通用DAO和Service的教程或资源,旨在帮助Java开发者理解和应用这种模式来提高开发效率。...
SpringMVC通过DI管理对象的生命周期和依赖关系。`@Autowired`注解用于自动将依赖注入到需要的对象中,而无需手动创建对象。Spring容器会在启动时扫描所有带有`@Component`(包括`@Controller`、`@Service`、`@...
在“service_dao”标签中,Service层是业务逻辑的封装,负责处理复杂的业务规则和事务管理。它通常调用DAO层来与数据库交互。DAO接口定义了数据库操作,而其实现类则使用Hibernate等ORM(对象关系映射)工具来完成...
这是一个基于Web的博客系统,它集成了DAO(数据访问对象)、Servlet、Service和VO(值对象)等核心组件,用于实现完整的CRUD(创建、读取、更新、删除)操作。该系统使用MySQL作为后端数据库,提供了方便的数据存储...
通过ORM(对象关系映射)框架如Hibernate或MyBatis,可以根据数据库表结构自动生成对应的DAO接口和实现类。这些类通常包括查询、插入、更新和删除等方法,使得数据库操作更加规范和便捷。 2. **Entity层**:Entity...
6. 分层架构:DAO模式是分层架构的一部分,常与Service层和Controller层配合使用。Service层负责业务逻辑,调用DAO层进行数据操作,而Controller层处理用户请求并调用Service层。 7. 扩展性:DAO模式使得添加新的...
- **Spring**:用于Service层和DAO层,提供依赖管理和事务管理等功能。 - **Hibernate**:用于DAO层,负责对象关系映射(ORM),使得Java对象能够与数据库表相对应。 3. **配置文件**:配置文件是Spring框架中的...
Action、Service、DAO之间的关系是,小工(DAO)的工作是要满足厨师(Service)的要求,厨师要满足服务员(Action)转达的客户(页面用户)的要求。 6. Struts框架详解 Struts是在SSH框架中起控制的作用,其核心是...
在IT行业中,新闻发布...总的来说,Dao与Service层是软件架构中的重要组成部分,它们共同协作,实现了新闻发布系统的数据管理和业务逻辑处理。理解并熟练运用这两种设计模式,能够帮助开发者构建出高效、稳定的系统。
在本文中,我们将深入探讨如何使用DWR与JPA结合,直接访问SERVICE层并处理DAO返回的BEAN,以及在这样做时需要注意的关键点。 首先,当我们在SERVICE层定义了MANAGER方法后,这些方法通常封装了业务逻辑。通过DWR,...
在Service和DAO之间传递的参数通常是Model对象,这样可以确保数据的一致性,并且减少了类型转换的麻烦。 **DAO(Data Access Object)** 是数据访问对象,主要职责是与数据库进行交互,执行SQL语句,实现数据的持久...
Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的Action层、业务逻辑层(Service层)以及数据访问层(DAO层)。本项目提供的是一款工具,能够自动化生成这三层的代码,极大地提高了...
数据访问对象(DAO,Data Access Object)是一种设计模式,它在软件工程中被用来封装对数据库的操作...在Java开发中,DAO模式通常结合Spring框架和其他ORM(对象关系映射)工具一起使用,以实现高效且灵活的数据访问。
**MVC(Model-View-Controller)模式**是一种在软件工程中广泛应用的设计...通过这个例子,开发者可以学习如何在实际项目中运用MVC+DAO模式,理解它们之间的协作关系,以及如何组织代码以实现高效、可维护的Web应用。
Struts、DAO(Data Access Object)和Hibernate是Java Web开发中的三个重要框架,它们共同协作构建了一个高效且灵活的用户登录系统。以下是对这些技术及其在实现用户登录功能中的应用的详细解释: **Struts框架** ...
这种技术可以帮助开发者自动创建数据访问对象(DAO)和业务服务层(Service)的代码,从而避免手动编写这些重复性的基础代码。 首先,我们需要理解`HibernateTemplate`。它是Spring对Hibernate提供的一个抽象层,它...