Sobes.tech
Junior — Middle

Como é que a implementação de um objeto no Dagger para injeção de dependências é realizada?

sobes.tech IA

Resposta da IA

No Dagger, a injeção de dependências é feita através de anotações e geração de código.

Principais passos:

  1. Definição do módulo (@Module) — uma classe que fornece dependências através de métodos anotados com @Provides.

  2. Componente (@Component) — uma interface que liga os módulos e os locais de injeção de dependências.

  3. Injeção (@Inject) — campos ou construtores onde o Dagger irá inserir as dependências.

Exemplo de injeção de um objeto através do construtor:

class Engine {
    @Inject
    Engine() {}
}

class Car {
    private final Engine engine;

    @Inject
    Car(Engine engine) {
        this.engine = engine;
    }
}

@Component
interface CarComponent {
    Car getCar();
}

Aqui, o Dagger criará automaticamente um objeto Engine e o injetará em Car ao criá-lo através do CarComponent.

Dessa forma, a injeção de objetos no Dagger é feita através da anotação @Inject e conectada através de componentes e módulos.