Назад к вопросам
Junior — Middle
71
Какова роль аннотации @Provides в контексте Dependency Injection и какого она служит предназначения?
Компании, где спрашивали
Willdberies
Ответ от нейросети
sobes.tech AI
Аннотация @Provides используется в библиотеках для Dependency Injection (например, Dagger в Android) для обозначения методов, которые создают и предоставляют зависимости. Такие методы обычно находятся в модулях (@Module) и отвечают за создание объектов, которые будут внедряться в другие части приложения.
Например, если у вас есть класс, который зависит от некоторого сервиса, вы можете написать метод с @Provides, который создаст этот сервис и позволит DI-фреймворку автоматически передавать его туда, где он нужен.
Пример:
@Module
public class NetworkModule {
@Provides
Retrofit provideRetrofit() {
return new Retrofit.Builder()
.baseUrl("https://api.example.com")
.build();
}
}
Таким образом, @Provides служит для явного указания, как создавать зависимости, которые не могут быть созданы автоматически через конструкторы.