java - Spring MVC 服务 DAO 架构

标签 java spring hibernate

每个服务是否应该调用一个 DAO,例如CustomerService->CustomerDAO 或者我们可以使用 dataService 可以调用 CustomerDAo 和 ProjectDAO 作为示例

最佳答案

从一个Service或多于一个Service调用Dao层没有限制,也取决于当前的需求

通常,DAO 尽可能轻量,其存在仅仅是为了提供与数据库的连接,有时会进行抽象,以便可以使用不同的数据库后端。

服务层提供逻辑来操作发送到 DAO 和客户端的数据以及从 DAO 和客户端发送的数据。通常,这两个部分会捆绑在一起到同一个模块中,有时会捆绑到相同的代码中,但您仍然会将它们视为不同的逻辑实体。

正如您所说每个服务是否应该调用一个 DAO,例如CustomerService->CustomerDAO或者我们可以使用dataService可以调用CustomerDAo和ProjectDAO为例

所以这里取决于需求,如果DataService只需要来自CustomerDAo的数据,例如客户列表,那么您应该直接在DataService中使用CustomerDAO,但是如果您需要某种计算或其他在您的客户数据中并且它存在于CustomerService上(基本上这种东西是在Dao对应的Service上实现的)然后你就去找CustomerService。

关于java - Spring MVC 服务 DAO 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45166068/

相关文章:

java - quartz ,设置 postgres 模式,JOB_DATA 应该是什么?

java - 如何限制泛型类中允许为 "T"的类型?

java - 使用docx4j将图像插入到word文档中的特定位置

java - 在 spring 中从 ResourceBundleMessageSource 按模式获取属性键

java - 尝试对使用 Hibernate 进行数据库查询且无法创建 session 的类进行单元测试

java - 如何控制一个Spring应用中有多少个线程?

mysql - 是否可以在不使用 POJO 的情况下从 MyBatis 调用 MySQL 存储过程?

spring - 日志 JavaMailSenderImpl

java - 无法在 Spring MVC 中初始化类 org.hibernate.validator.engine.ConfigurationImpl?

java - 什么是与 Hibernate 和 JDBC 相关的对象/关系映射 (ORM)?