Junior — Middle
Qual é o papel da anotação @Provides no contexto da Injeção de Dependências e qual é o seu propósito?
sobes.tech IA
Resposta da IA
A anotação @Provides é usada em bibliotecas de Injeção de Dependências (por exemplo, Dagger no Android) para marcar métodos que criam e fornecem dependências. Esses métodos geralmente estão em módulos (@Module) e são responsáveis por criar objetos que serão injetados noutras partes da aplicação.
Por exemplo, se tiver uma classe que depende de um serviço, pode escrever um método com @Provides que crie esse serviço e permita ao framework de DI passá-lo automaticamente onde for necessário.
Exemplo:
@Module
public class NetworkModule {
@Provides
Retrofit provideRetrofit() {
return new Retrofit.Builder()
.baseUrl("https://api.example.com")
.build();
}
}
Assim, @Provides serve para indicar explicitamente como criar dependências que não podem ser criadas automaticamente através de construtores.