Sobes.tech
Назад к вопросам
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 служит для явного указания, как создавать зависимости, которые не могут быть созданы автоматически через конструкторы.