大家好,我对Dagger 2组件有一个快速提问。具体提供组件内的方法。在我的代码中,我有一个非常简单的组件“RegComponent”,如下所示。
@Singleton
@Component(modules ={RegModule.class})
public interface RegComponent
{
RegisterPresenterInt getPres();
}
当我调用getPres()时,这个basicallly返回我的演示者类。下面是它的模块类“RegModule”
@Module
public class RegModule
{
private RegistrationActivity activ;
public RegModule(RegistrationActivity activityin)
{
activ = activityin;
}
@Singleton
@Provides RegisterPresenterInt getPres()
{
return new RegisterPresenter(activ);
}
}
然后我继续在我的活动/视图中进行以下调用
regpresenter = DaggerRegComponent.builder().regModule(new RegModule(this)).build().getPres();
我的问题是这被认为是leigitmate注入类,因为我没有在任何地方使用@Inject注释?另外,如果我使用提供方法,有没有使用@Inject注释以及这种类型的方法调用而不使用成员注入方法?我的麻烦基本上是理解使用Inject和注释@Inject以及从没有任何viod inject()方法的组件调用provide方法之间的区别。对于我刚刚与Dagger 2达成协议的愚蠢问题提前道歉。