あなたは実際にどこに注射していClassWithoutInjects
ますか?
モジュールのinjects
は、そのモジュールによって提供される から依存関係を要求するクラスを参照します。
したがって、この場合、Dagger はClassWithoutInjects
、このモジュール (現在は空) によって提供される依存関係を使用して、ObjectGraph から依存関係を要求することを期待しています。
ClassWithoutInjects
依存関係の消費者 (モジュールのように設定されているもの) としてではなく、依存関係として提供したい場合は@Inject
、コンストラクターに を追加するか、モジュールに明示的なプロバイダー メソッドを追加します。
@Module
public class SimpleModule {
@Provides ClassWithoutInjects provideClassWithoutInjects() {
return new ClassWithoutInjects();
}
}
IfClassWithoutInjects
は依存関係の消費者です。
@Module(injects = ClassWithoutInjects.class)
public class SimpleModule {
// Any dependencies can be provided here
// Not how ClassWithoutInjects is not a dependency, you can inject dependencies from
// this module into it (and get compile time verification for those, but you can't
// provide ClassWithoutInjects in this configuration
}
public class ClassWithoutInject {
// Inject dependencies here
}