android - 我缺少一些 Dagger 基础知识 [CoffeeMaker App 示例]

标签 android dependency-injection dagger

任何喜欢 dagger around 的人都可以提示我,因为我不明白。所以我按照咖啡机的例子,它工作正常,但后来我想在这种情况下提供另一个依赖咖啡机:

@Module(injects = CoffeeApp.class)
class DripCoffeeModule {
    @Provides
    Heater provideHeater() {
        return new ElectricHeater();
    }

    @Provides
    Pump providePump(Thermosiphon pump) {
        return pump;
    }

    @Provides
    CoffeeMaker provideCoffeeMaker() {
        return new ExpensiveCoffeeMaker();
    }

}

它没有说:

Graph validation failed: You have these unused @Provider methods: 1. com.sample.dagger.DripCoffeeModule.providePump() Set library=true in your module to disable this 
 check.

但是它被注入(inject)到CofeeApp中,有人可以解释为什么会这样吗?更重要的是,除了官方文档和 talk gave by Jesse Wilson 之外,您还有其他关于 Dagger 的好文档吗? ?

谢谢

最佳答案

您不是提供 Heater 和 Pump 依赖项并允许 Dagger 构造 CoffeeMaker 类,而是您自己显式创建 CoffeeMaker 类,因此 Pump 条款未被使用。

关于android - 我缺少一些 Dagger 基础知识 [CoffeeMaker App 示例],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21686067/

相关文章:

java - 选择联系人后 onActivityResult 未执行

android - 如何自动调整 TextView 中的文本大小以适应垂直和水平可用空间?

design-patterns - Controller 逻辑与服务/业务层逻辑

android - Kotlin 中的 Dagger 2 范围和依赖项

android - 无法使用 Hilt 创建 MainViewModel 的实例

android - 从文件调整图像大小

java - 如何处理在服务器上上传的视频 block 和用 Spring mvc 编写的服务器代码

.net - 使用 ToMethod 时配置 Ninject 以解决 null

c# - ASP.NET Web API 跨请求缓存操作过滤器属性

android - Dagger 不能创建对象图,尽管它可以生成点文件