java - Spring Autowire - 需要接口(interface)和实现 DAO 类吗?

标签 java spring interface dao

首先,我阅读了一些资料,想知道拥有接口(interface)和实现类(例如数据访问对象 (DAO))的目的是什么?我读到它增加了灵 active ,但我想知道是否有人可以提供一个具体的例子来说明为什么我们需要一个接口(interface)。

如果我们是 Autowiring ,我们还需要使用接口(interface)和实现接口(interface)的实现吗?如果是这样,为什么?我们只需要 impl 吗?

提前谢谢你。

最佳答案

严格来说,您并不需要接口(interface)。但有两个原因更喜欢它们:

  • 您可以轻松地将实现替换为测试目的
  • 为面向方面的编程或类似的目的代理 bean 是 更容易(Java 开箱即用地支持它)

可能会添加其他原因,但我认为这些是主要的 2 个原因。不过,不要觉得被迫那样工作。如果您正在处理的案例不保证这种灵 active ,则无需使事情复杂化。

而且,无论如何,never call your classes *Impl .如果您不能为实现想出一个合适的名称,则意味着您不应该以接口(interface)开头。

关于java - Spring Autowire - 需要接口(interface)和实现 DAO 类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26760159/

相关文章:

java - 获取辅助监视器的位置。 (小学的右侧或/左侧)

Spring @Scheduled - 并发运行

java - Controller 如何从jquery开发的表单中捕获数据?

java - 从 Java 中的两个方法抽象代码,也许使用委托(delegate)?

java - 条件接口(interface)实现

java - 使用两个 Activity [ANDROID] 显示消息输出的问题

java - 将新列表添加到二维数组

java - 使用Java接口(interface)

java - 从Java调用Haskell,动态链接错误重定位

java - AnnotationConfigApplicationContext 和父上下文