为什么我们将服务层和 DAO 与 JPA 存储库一起使用

Why we use Service layer and DAO with JPA repository

为什么我们将服务层和 DAO 与 JPA 存储库一起使用。 在 spring mvc 项目中使用此架构是否有任何标准? 我对此感到困惑,我是 spring mvc 的新手。 请帮我。 提前致谢。

我正在使用 spring MVC,在我的项目中我有 3 层

  1. 控制器
  2. 服务
  3. DAO

控制器只是控制project.In控制器的in/out我们不写任何业务逻辑

我们把所有的业务逻辑写在服务层

在dao中,我们把数据库逻辑写成CRUD操作

这样做是因为我们不希望将所有逻辑流程混合在一个 class 中。增加负担,调试困难

使用服务层有两个原因:

1.代码模块化:

使用服务层,我们可以将代码分成不同的层,例如 ORM 和业务逻辑。

2。安全

与DB无关的服务层,那么除了通过服务之外,从客户端访问数据库是否更困难。如果无法从客户端直接访问数据库(并且没有简单的 DAO 模块充当服务),那么接管客户端的攻击者所能做的就是在他得到除了最安全地访问您的数据。