Встречается на собеседованиях • сегодня
Почему многие ругают аннотацию Autowired в Spring
Autowired может вызывать проблемы из-за неявности внедрения зависимостей. Основные претензии:
- Тестирование - сложнее мокировать зависимости без Spring-контекста
- Жесткая привязка - нельзя легко заменить реализацию без изменения кода
- Полевое внедрение - нарушает принцип инверсии зависимостей (DIP)
Лучшие альтернативы:
java
// Конструкторное внедрение (рекомендуется)
@Service
public class UserService {
private final UserRepository repo;
public UserService(UserRepository repo) {
this.repo = repo;
}
}
// Сеттерное внедрение
@Autowired
public void setRepo(UserRepository repo) {
this.repo = repo;
}Autowired допустим для быстрого прототипирования, но в production-коде лучше использовать явное внедрение через конструктор.

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