❓ Опишите поведение аннотации @Autowired
@Autowired — это аннотация Spring Framework для автоматического внедрения зависимостей. Она может применяться к конструкторам, сеттерам, полям и методам.
Spring ищет подходящий бин в контексте по типу. Если находит один бин нужного типа — внедряет его. Если бинов несколько — выбрасывает исключение, если не указан квалификатор через @Qualifier. Если бин не найден — тоже выбрасывает исключение, если только не установлен параметр required = false.
Начиная с Spring 4.3, если у класса один конструктор, @Autowired можно опустить — Spring автоматически использует его для внедрения. Это считается хорошей практикой, так как делает код менее зависимым от фреймворка.
Порядок разрешения зависимостей: сначала по типу, потом по имени бина, если имя поля совпадает с именем бина. Для явного указания используют @Qualifier.
🐸 Библиотека собеса по Java
#spring
Post #1221
1.73K
- 👍 8
- ❤ 1
- 🔥 1
- 👏 1