每个服务是否应该调用一个 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/