为什么在Spring MVC中注入接口而不是类

时间:2013-06-27 17:00:23

标签: spring spring-mvc

我正在阅读来自此URL的Spring Hibernate CRUD教程

http://viralpatel.net/blogs/spring3-mvc-hibernate-maven-tutorial-eclipse-example/

请允许任何人告诉我为什么在ContactController.javaContactService界面是自动装配而不是类ContactServiceImpl

同样在ContactServiceImpl ContactDAO接口注入。我们不应该注入类而不是接口吗?

2 个答案:

答案 0 :(得分:3)

当您的代码依赖于接口并且其实现由Spring注入时,您的代码将与实现分离。这样做的一个优点是,现在您可以交换不同的实现,而无需更改使用接口的代码。

答案 1 :(得分:1)

春天很聪明。它将找到接口的实现并适当地注入它(或其代理。)

您应该是programming to interfacesnot implementations