Встречается на собеседованиях • сегодня
Какие плюсы и минусы внедрения Bean через поле в Spring
Плюсы:
- Простота и лаконичность - аннотация
@Autowiredнад полем делает код компактным. - Уменьшает количество шаблонного кода (не нужны сеттеры/конструкторы).
- Легко читается и понимается, особенно для простых случаев.
Минусы:
- Нарушает принцип инверсии зависимостей - сложнее подменять зависимости для тестов.
- Скрывает зависимости - без рефлексии не видно, какие бины требуются.
- Затрудняет создание immutable объектов (поля final нельзя так инициализировать).
- Может привести к NPE, если зависимость не найдена и не проверена.
Пример:
java
@Service
public class MyService {
@Autowired // Минус: зависимость скрыта
private MyRepository repo; // Плюс: код компактный
public void doWork() {
repo.save(data); // Риск NPE, если Spring не внедрит
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы