Junior — Middle
Σε ποιες περιπτώσεις συνιστάται η χρήση της σημείωσης @Inject για κατασκευαστές κατά τη χρήση του Dagger;
sobes.tech AI
Απάντηση από AI
Συνιστάται η εφαρμογή της σημείωσης @Inject στους κατασκευαστές στο Dagger όταν θέλετε το Dagger να δημιουργεί και να παρέχει αυτόματα στιγμιότυπα αυτής της κλάσης, διαχειριζόμενο τις εξαρτήσεις της.
Καταστάσεις για χρήση του @Inject στον κατασκευαστή:
- Η κλάση αποτελεί εξάρτηση που πρέπει να ενέχεται σε άλλα συστατικά.
- Ο κατασκευαστής δεν απαιτεί πρόσθετες παραμέτρους που δεν μπορούν να ληφθούν μέσω του Dagger.
- Θέλετε το Dagger να δημιουργεί αυτόματα αντικείμενα χωρίς να χρειάζεται να γράψετε χειροκίνητα εργοστάσια ή modules.
Παράδειγμα:
public class UserRepository {
private final ApiService apiService;
@Inject
public UserRepository(ApiService apiService) {
this.apiService = apiService;
}
}
Εδώ, το Dagger θα ξέρει πώς να δημιουργήσει το UserRepository, παρέχοντας αυτόματα το ApiService.