Rumah >Java >javaTutorial >Ralat Dagger 2: 'Tidak Dapat Disediakan...' – Bagaimana untuk Membetulkan Isu Suntikan Ketergantungan?
Isu:
Dagger 2 mengembalikan ralat "com.example.MyDependency tidak boleh diberikan [...]" semasa cuba mengakses kebergantungan. Ralat ini menunjukkan bahawa Dagger tidak mempunyai mekanisme yang diperlukan untuk mencipta atau menyediakan kebergantungan yang ditentukan.
Penjelasan:
Seperti yang dicadangkan oleh mesej ralat, Dagger memerlukan satu daripada dua kaedah untuk berikan kebergantungan:
Betulkan:
Untuk menyelesaikan isu ini, pastikan anda mempunyai sama ada:
Tambahkan pembina beranotasi @Inject pada kelas yang anda ingin gunakan sebagai pergantungan.
Contoh:
class MyDependency { @Inject MyDependency() { /**/ } }
Tambahkan modul pada komponen pengisytiharan.
Contoh:
@Module class MyModule { @Provides MyDependency provideMyDependency() { return new MyDependency(); } } @Component(modules = MyModule.class) interface MyComponent { MyDependency myDependency(); }
Nota Tambahan:
Atas ialah kandungan terperinci Ralat Dagger 2: 'Tidak Dapat Disediakan...' – Bagaimana untuk Membetulkan Isu Suntikan Ketergantungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!