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

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