为什么需要严格执行Spring MVC服务层中的类接口?

时间:2010-09-25 21:01:13

标签: java spring interface spring-mvc

在我正在处理的Spring网络应用程序中,有一个服务层与Web应用程序结构的其余部分相关,如下所示:

com/
    myapp/
          controller/
          model/
          service/

此服务层由接口和实现类组成。

为什么拥有所有这些类的接口如此重要?

为什么不只是Class文件?

2 个答案:

答案 0 :(得分:1)

接口允许您在不更改底层代码的情况下传递这些接口的不同实现。

例如,如果模型只需要HashMap并且你有一个TreeMap,那么你就会遇到麻烦。但是如果模型接受Map(好的,假装它是一个接口)那么它可以用HashMap或TreeMap。

答案 1 :(得分:1)

我相信Spring会在很多情况下创建一个代理类。代理类实现了您的接口,并最终委托您的实现,但可能在事务管理之间做一些事情。如果您使用接口,那么您的代码不关心它是直接获得您的实现,还是Spring代理实现。