Встречается на собеседованиях • сегодня
Пишешь ли явно аннотацию Autowired
В современных версиях Spring (начиная с 4.3) аннотация @Autowired не обязательна для конструкторов. Если в классе только один конструктор, Spring автоматически будет использовать его для инъекции зависимостей.
Однако явное указание @Autowired может быть полезно для:
- Читаемости кода - явно показывает инъекцию зависимостей
- Когда есть несколько конструкторов и нужно указать, какой использовать
- В случаях, когда инъекция не через конструктор (поле или метод)
Пример без @Autowired (работает в Spring 4.3+):
java
@Service
public class MyService {
private final MyRepository repository;
public MyService(MyRepository repository) {
this.repository = repository;
}
}Пример с @Autowired:
java
@Service
public class MyService {
@Autowired
private MyRepository repository;
}Лучшей практикой считается использование конструкторов без @Autowired для обязательных зависимостей, так как это делает зависимости явными и позволяет делать поля final.

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