spring - 域、DAO 和服务层

标签 spring hibernate dao

我需要了解域、DAO 和服务层对象内部的方法类型(就业务逻辑而言)之间的区别。

例如,如果我正在构建一个小型 Web 应用程序来创建、编辑和删除客户数据,据我在域层对象内部的理解,我应该添加获取/设置客户对象属性的方法,例如(getName、getDOB 、setAddress、setPhone...等)。

现在我想了解的是我应该在 DAO 和服务层对象中放入哪些方法。

预先感谢您的时间和努力。

最佳答案

一般来说(不是 Hibernate 或 Spring 特有的):

DAO 层包含查询和更新,用于将域层保存到数据存储中(通常是关系数据库,但不是必须如此)。使用接口(interface)将 DAO 从实际数据存储中抽象出来。这种情况并不经常发生,但有时您想要更改数据存储(或使用模拟来测试您的逻辑),而接口(interface)使这变得更容易。这将具有“save”、“getById”等方法。

服务层通常包含您的业务逻辑并协调域层和 DAO 之间的交互。它将具有对您的特定域有意义的任何方法,例如“verifyBalance”或“calculateTotalMileage”。

关于spring - 域、DAO 和服务层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16862611/

相关文章:

java - 这个 Spring 教程中的错误做法?

java - 使用 PagingAndSortingRepository 进行 Spring 批处理步骤分区

java - spring getbean 是否区分大小写?

java - 在服务类中使用多个 dao 完成事务

java - 如何在 Spring XML 配置中设置 LocalDateTime

hibernate - LazyInitializationException 即使 openSessionInViewInterceptor

java - 在 Hibernate 中是否可以(以及如何)创建与命名查询的关联?

java - NonUniqueObjectException 和 IdentifierGenerationException - 无法更新表

java - 如何使用 DAO 在 Spring Boot 查询中返回特定对象属性?

java - 设计一个hibernate dao