接口注入需要双方都要实现同一个接口,所以这样大大限制了本身的扩展性。Spring本身用的是setter方法注入,即设值注入。构造函数虽然也行,但是在参数比较多的情况下,可能会很长,也不符合弱耦合的特性。而setter只需要设置一下属性值即可,非常方面。我个人比较喜欢用注解。