Junior — Middle
Quais componentes estão incluídos no framework de injeção de dependências Dagger?
sobes.tech IA
Resposta da IA
Os componentes principais do Dagger são:
- @Module — classe que fornece dependências através de métodos anotados com @Provides.
- @Component — interface que liga módulos e locais de injeção de dependências. É responsável por gerar o código para a injeção.
- @Inject — anotação usada para marcar construtores, campos ou métodos onde as dependências devem ser injetadas.
- @Scope — anotação para definir o âmbito de vida das dependências (por exemplo, Singleton).
Exemplo:
@Module
class NetworkModule {
@Provides
Retrofit provideRetrofit() {
return new Retrofit.Builder()...build();
}
}
@Component(modules = NetworkModule.class)
interface AppComponent {
void inject(MainActivity activity);
}
class MainActivity {
@Inject Retrofit retrofit;
void onCreate() {
DaggerAppComponent.create().inject(this);
}
}