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

时间:2014-11-05 14:54:53

标签: java spring interface dao

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

如果我们是自动装配,我们是否还需要使用实现该接口的接口和实现?如果是这样,为什么?我们只需要impl吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

您并不严格需要接口。但是有两个理由喜欢它们:

  • 您可以轻松交换实施以进行测试
  • 用于面向方面编程或类似的目的的代理bean是 更容易(Java支持开箱即用)

可能会增加其他原因,但在我看来,这些是主要的2。不过,不要觉得被迫这样工作。如果您正在处理的案例不能保证这种灵活性,则无需复杂化。

并且,无论如何,never call your classes *Impl。如果你不能为实现提供一个正确的名称,那就意味着你不应该有一个开头的界面。