Junior — Middle
Kako se vrši implementacija objekta u Dagger za ubrizgavanje zavisnosti?
sobes.tech АИ
Одговор од АИ
U Dagger-u, injekcija zavisnosti se vrši putem anotacija i generisanja koda.
Glavni koraci:
-
Definisanje modula (@Module) — klasa koja pruža zavisnosti putem metoda označenih sa
@Provides. -
Komponenta (@Component) — interfejs koji povezuje module i mesta gde se vrši injekcija zavisnosti.
-
Injekcija (@Inject) — polja ili konstruktori u koje će Dagger ubaciti zavisnosti.
Primer injekcije objekta putem konstruktora:
class Engine {
@Inject
Engine() {}
}
class Car {
private final Engine engine;
@Inject
Car(Engine engine) {
this.engine = engine;
}
}
@Component
interface CarComponent {
Car getCar();
}
Ovde, Dagger automatski kreira objekat Engine i injektuje ga u Car prilikom kreiranja putem CarComponent.
Na ovaj način, injekcija objekata u Dagger-u se vrši putem anotacije @Inject i povezuje se putem komponenti i modula.