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

Как происходит внедрение зависимости через конструктор

Внедрение зависимостей через конструктор (Constructor Injection) - это способ передачи зависимостей в класс через его конструктор. Это считается лучшей практикой, так как делает зависимости явными и позволяет классу быть неизменяемым (immutable).

Пример:

java
public class UserService {
    private final UserRepository userRepository;
    
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
    
    public void saveUser(User user) {
        userRepository.save(user);
    }
}

Преимущества:

  1. Явная декларация зависимостей
  2. Поддержка неизменяемости (final поля)
  3. Проще тестировать (можно передавать mock-объекты)
  4. Соответствует принципу единственной ответственности

Spring и другие DI-фреймворки автоматически поддерживают этот способ, находя подходящие реализации для внедрения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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