Spring MVC Service DAO架构

时间:2017-07-18 11:54:22

标签: java spring hibernate

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

1 个答案:

答案 0 :(得分:2)

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

通常DAO尽可能轻,并且仅用于提供与DB的连接,有时被抽象,因此可以使用不同的DB后端。

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

正如你所说Should each service call one DAO e.g. CustomerService->CustomerDAO or we can use dataService can call CustomerDAo and ProjectDAO as example

所以这取决于需求,如果DataService只需要来自CustomerDAo的数据,例如客户列表,那么您应该直接在DataService中使用CustomerDAO,但是如果您需要某种计算,或者在客户数据中,那么它存在于CustomerService上(基本上这种事情在Dao相应的服务上实现)然后你去了CustomerService。