service层设置interface

在JAVA web开发中,项目的service层可以设置interface,也可以不需要interface只有实现类。我们知道mapper层实现接口是问了通过反射实现代理对象。这让我产生了一个疑问,为什么service层需要定义interface,有什么好处和坏处。仔细追究之后,发现这个问题很有意思。

1.有个接口,注入的时候可以注入到Service对象,没有你就要注入到ServiceImp对象。
以后修改了实现,变成ServiceImp2.java了,有接口的话,改下注解的类就行了。没有的话,你要修改所有用到ServiceImp的类。——黑熊猫爱看书

2.面向对象设计原则中有三条与此相关:开闭原则、依赖倒转原则、理氏替换原则。还记得依赖倒转原则吧?高层不依赖于低层,二者都依赖于抽象,也就是面向接口编程。——知乎用户

你可能感兴趣的:(JavaSE)