Spring Boot Repository 中的 API 与 DAO

2022-09-03 15:52:35

我正在尝试在 Spring boot 中设计一个 rest API,以及关于一些设计决策的问题。我对DAO与存储库模式/设计之间的整个区别完全感到困惑。经过几个小时的阅读,我仍然不太了解两者之间的区别,或者哪一个是设计建立后端连接的API的首选标准。

下面是一个简单的 UML 图,用于突出显示 api 的高级视图:enter image description here

这就是我如何理解API的良好架构。但后来我遇到了这篇文章,它使用存储库模式而不是规范设计的dao。我不明白为什么一个道接口不能只有一个功能?这是否打破了DAO是什么或其他东西的想法?query

我的问题是:在今天在Spring Boot和Java 8中开发API时使用的最佳标准是什么?


答案 1

如果我正确地理解了你的问题,那么使用Spring Service/Repository的全部意义在于将业务逻辑从控制器分离到Service类,而存储库唯一要做的就是DB操作,您将它注入到您的服务中。DAO(假设你的DAO是一堆使用JPA的代码)和存储库之间没有区别,但是使用Spring Repository,你可以使用查询方法,这真是太棒了!

任何建议,请随意!


答案 2

推荐