Java dagger 2在提供方法中使用命名注释
我在我的项目中使用Dagger2库。我想使用@Named注释来拥有两种不同类型的REST适配器Java dagger 2在提供方法中使用命名注释,java,dependency-injection,dagger-2,Java,Dependency Injection,Dagger 2,我在我的项目中使用Dagger2库。我想使用@Named注释来拥有两种不同类型的REST适配器 @Provides @Singleton @Named("adapter1") @SuppressWarnings("unused") RestAdapter provideRestAdapter1() { return ....; } @Provides @Singleton @Named("adapter2") RestAdapter provideRestAdapter2() { re
@Provides
@Singleton
@Named("adapter1")
@SuppressWarnings("unused")
RestAdapter provideRestAdapter1() {
return ....;
}
@Provides
@Singleton
@Named("adapter2")
RestAdapter provideRestAdapter2() {
return ....;
}
是否可以在提供方法中使用@Named注释来自行插入适当的REST适配器
@Provides
@Singleton
@SuppressWarnings("unused")
Service1 provideService1(@Named("adapter1") RestAdapter restAdapter) {
return ....;
}
@Provides
@Singleton
@SuppressWarnings("unused")
Service2 provideService2(@Named("adapter2") RestAdapter restAdapter) {
return ....;
}
如果您的模块包含上述所有四种方法,那么它应该可以工作:
Service1
将使用providerstatadapter1()
返回的RestAdapter
或者,您想知道是否可以跳过前两种方法,让Dagger知道如何提供
@Named(“adapter1”)restapter
本身?这是不可能的。你能在providedevice1()中调用providedestadapter1()
吗