1

短剣が好きな人なら誰でも、私がそれを理解していないので、私にヒントを与えることができます. だから私はコーヒーメーカーの例に従いましたが、それはうまくいきましたが、この場合はコーヒーメーカーの別の依存関係を提供したくありませんでした:

@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.

しかし、それは CofeeApp に注入されています。誰かがなぜこれが起こったのか説明できますか? さらに重要なのは、公式ドキュメントやJesse Wilson による講演以外に、短剣に関する優れたドキュメントがありますか?

ありがとう

4

1 に答える 1

3

Heater と Pump の依存関係を提供し、Dagger が CoffeeMaker クラスを構築できるようにする代わりに、CoffeeMaker クラスを自分で明示的に作成しているため、Pump プロビジョニングは使用されません。

于 2014-02-10T21:24:00.880 に答える