【问题标题】:Clarifications needed on Designing Data Access Object (DAO) Layer - Spring Boot设计数据访问对象 (DAO) 层所需的说明 - Spring Boot
【发布时间】:2021-08-27 05:04:14
【问题描述】:

我正在尝试为 Spring Boot 项目设置 DAO 层, 我遇到了这个helpful blog

我需要澄清一下下面的文字,尤其是它说依赖项不能是实现类并且它们不需要超出其域的部分。

"所有 DAO 类都必须通过 实例化,而不是稍后在运行时,和依赖项不得 实现类。 DAO 层必须确保最低限度 DAO 类需要的依赖项不超过其域,即所有 依赖项应该是与持久层相关的接口或 仅限其他 DAO 接口。”

请通过提供一些指示来帮助/添加/纠正我的理解。我的理解是

我们应该将接口注入为 服务类中的依赖项,而不是自动连接具体 持久层实现类。

【问题讨论】:

  • 通读有例子的文章。一般来说,我们更喜欢在调用类构造函数中实例化接口。

标签: java spring design-patterns dao rapid7


【解决方案1】:

您不注入接口,您的服务类依赖于 DAO 接口(但看不到实现)。您在运行时注入 dao 接口的实现。因此,实现也将依赖于 dao 接口。

这个想法是(理论上)您可以换掉您的底层实现 - 从文件系统迁移到关系数据库,再到文档数据库,您的服务不会受到影响。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-03
    • 2012-06-06
    • 2013-10-09
    • 2013-02-02
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多