Встречается на собеседованиях • сегодня
Почему не рекомендуют внедрять зависимость через поля
Внедрение зависимостей через поля (field injection) не рекомендуется по нескольким причинам:
- Нарушение инкапсуляции - поля становятся изменяемыми, что может привести к неожиданному изменению зависимостей во время выполнения.
- Проблемы тестирования - сложно мокировать зависимости без использования фреймворков вроде Spring.
- Неявность зависимостей - конструктор явно показывает, что требуется для работы класса.
Пример плохого подхода:
java
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
}Лучше использовать конструкторное внедрение:
java
@Service
public class UserService {
private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы