Ralat ini berlaku apabila Dagger 2 tidak dapat memberikan kebergantungan tanpa pembina @Inject-anotasi atau @Provides-anotasi kaedah.
Dagger 2 bergantung pada suntikan kebergantungan berasaskan anotasi untuk mencipta dan menyediakan objek. Tanpa pembina @Inject atau kaedah @Provides, Dagger tidak mempunyai cara untuk mencipta kebergantungan.
Gunakan Suntikan Pembina:
Gunakan Kaedah @Provides:
Contoh dengan Suntikan Pembina:
class MyDependency { // Add `@Inject` annotation to the constructor @Inject public MyDependency() {} }
Contoh dengan Kaedah @Provides:
@Module public class MyModule { @Provides public MyDependency provideMyDependency() { return new MyDependency(); } } @Component(modules = MyModule.class) public interface MyComponent { MyDependency myDependency(); }
Atas ialah kandungan terperinci Ralat Ketergantungan Dagger 2: Bagaimana Saya Boleh Membetulkan Isu '... tidak boleh diberikan [...]'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!