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

Почему правильнее внедрять бин в Spring через конструктор

Внедрение зависимостей через конструктор в Spring считается лучшей практикой по нескольким причинам:

  1. Неизменяемость - зависимости становятся final, что делает их thread-safe и предотвращает случайное изменение
  2. Явная зависимость - все зависимости видны сразу при создании объекта
  3. Тестируемость - упрощает unit-тестирование, так как зависимости можно легко передать в конструктор
  4. Циклические зависимости - Spring сразу обнаружит циклические зависимости при старте приложения
  5. Обязательность - гарантирует, что объект не будет создан без необходимых зависимостей

Пример:

java
@Service
public class UserService {
    private final UserRepository userRepository;
    
    @Autowired // можно опустить начиная с Spring 4.3
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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