Встречается на собеседованиях • сегодня

Что такое Внедрение зависимости (Dependency injection)

Внедрение зависимости (DI) — это паттерн проектирования, при котором зависимости объекта передаются извне (через конструктор, сеттер или интерфейс), а не создаются внутри класса. Это делает код более гибким, тестируемым и поддерживаемым.

Пример с DI через конструктор:

java
public class UserService {
    private final UserRepository userRepository;
text
// Зависимость внедряется через конструктор
public UserService(UserRepository userRepository) {
    this.userRepository = userRepository;
}

}

// Использование
UserRepository repo = new DatabaseUserRepository();
UserService service = new UserService(repo);

text

Преимущества DI:
- Упрощает тестирование (можно подменить реальные зависимости моками)
- Уменьшает связанность кода
- Делает конфигурацию более гибкой
- Позволяет легко менять реализации зависимостей

В Java DI часто реализуется через фреймворки (Spring, Guice), но может использоваться и вручную.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы