@Binds与@Provides
相信大家经常会使用@Provides
来在Module
里面提供需要注入对象的构造, 但从来没有用过@Binds
.
如果我们需要注入一个接口的实现,我们常常会这么做:
@Provides
public XXInterface providesXX(XXImp imp) {
return imp;
}
其实这样的代码可以通过@Binds
简化为
@Binds
public abstract XXInterface bindXX(XXImp imp);