Встречается на собеседованиях • сегодня
Какие плюсы и минусы @Autowired
Плюсы:
- Упрощает внедрение зависимостей, уменьшая boilerplate-код (не нужно создавать сеттеры/конструкторы вручную).
- Позволяет быстро разрабатывать, так как Spring сам управляет зависимостями.
- Поддерживает разные способы внедрения: через поле, конструктор или метод.
Минусы:
- Может скрывать зависимости класса, усложняя понимание кода.
- Тестирование усложняется, так как зависимости "зашиты" в Spring-контекст.
- Полевое внедрение (через
@Autowiredнад полем) нарушает инкапсуляцию и усложняет мокирование.
Пример:
java
// Хорошо - внедрение через конструктор
@Service
public class UserService {
private final UserRepository repository;
@Autowired // можно опустить в новых версиях Spring
public UserService(UserRepository repository) {
this.repository = repository;
}
}Лучше использовать конструкторное внедрение — оно явное и immutable.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы