Sobes.tech
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:

  1. Definisanje modula (@Module) — klasa koja pruža zavisnosti putem metoda označenih sa @Provides.

  2. Komponenta (@Component) — interfejs koji povezuje module i mesta gde se vrši injekcija zavisnosti.

  3. 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.