Spring Autowire-需要接口和实现DAO类



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

如果我们是自动布线的,我们还需要使用实现接口的接口和实现吗?如果是,为什么?我们只需要impl吗?

提前谢谢。

您不需要严格的接口。但有两个原因更喜欢它们:

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

可能还会添加其他原因,但在我看来,这是主要的2个原因。不过,不要觉得被迫那样工作。如果你正在处理的案件不能保证这种灵活性,那么就没有必要把事情复杂化。

而且,无论如何,永远不要把你的类称为*Impl。如果您不能为实现提供一个合适的名称,这意味着您不应该从一开始就有一个接口。

最新更新