这是一个新手都会好奇的问题,最近代码写的少,居然忘记了,赶紧捡起来复习一下
我们都知道加上了@service可以注册成为spring的bean对象,那么为什么一定要放在实现类呢?我放在接口行不行呢?
答案是不行的:
@Service
注解是标注在实现类上的,因为@Service
是把spring
容器中的bean
进行实例化,也就是等同于new
操作,只有实现类
是可以进行new
实例化的,而接口
则不能,所以是加在实现类
上的。
而且对于Java中的多态来讲,注入一个接口的方式也可以为代码之间的解耦提供更多的操作空间与实现方式