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:
-
Definição do módulo (@Module) — uma classe que fornece dependências através de métodos anotados com
@Provides. -
Componente (@Component) — uma interface que liga os módulos e os locais de injeção de dependências.
-
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.