Sobes.tech
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);
    }
}