Встречается на собеседованиях • сегодня
В чем разница между Autowired и Inject в Spring
Оба аннотации используются для внедрения зависимостей, но есть ключевые различия:
- Происхождение:
@Autowired- Spring-специфичная аннотация@Inject- часть стандарта JSR-330 (javax.inject)
- Обязательность:
@Autowired(required=false)- зависимость не обязательна@Injectне имеет атрибута required, всегда требует зависимости
- Дополнительные возможности:
@Autowiredподдерживает@Qualifierдля уточнения бина@Injectиспользует@Namedдля той же цели
Пример:
java
// Spring way
@Autowired
@Qualifier("myService")
private MyService service;
// JSR-330 way
@Inject
@Named("myService")
private MyService service;Выбор зависит от предпочтений: @Inject обеспечивает переносимость кода между DI-фреймворками, а @Autowired предлагает больше Spring-специфичных возможностей.

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