相关疑难解决方法(0)

使用组件依赖时单例的问题

我在理解为什么以下代码不起作用时遇到问题.

我有以下项目结构:

@Component(modules = CCModule.class) 
public interface CComponent {
    XXX getXXX();
}
Run Code Online (Sandbox Code Playgroud)

哪里

@Module
public class CCModule {

    @Provides @Singleton
    public XXX provide XXX(){
        return new XXX();
    }
}
Run Code Online (Sandbox Code Playgroud)

@Component(dependencies = CComponent.class, modules = AAModule.class) 
public interface AComponent {
    YYY getYYY();
}
Run Code Online (Sandbox Code Playgroud)

哪里

class YYY {
   @Inject
   public YYY(XXX xxx) {
       ...
   }
}
Run Code Online (Sandbox Code Playgroud)

我将所有内容初始化为:

CComponent c_component = Dagger_CComponent.builder().cCModule(new CCModule()).build();

AComponent a_component = Dagger_AComponent.builder()
        .cComponent(c_component)
        .aAModule(new AAModule())
        .build();
Run Code Online (Sandbox Code Playgroud)

编译完成后,我收到以下错误:

错误:(11,1)错误:com.test.CComponent(unscoped)可能不引用作用域绑定:@Provides @Singleton com.test.XXX com.test.CCModule.provideXXX()

我的目标是让一个组件继承其他组件的绑定,以对对象(单例)进行相同的引用.

java dagger-2

49
推荐指数
2
解决办法
2万
查看次数

标签 统计

dagger-2 ×1

java ×1