Spring trainee
Как работает @Autowired?
Ответ
Spring находит бин подходящего типа в контексте и подставляет. Если в контексте несколько бинов одного типа — нужна @Qualifier или @Primary, иначе ошибка. С Spring 4.3+ @Autowired на единственном конструкторе можно не писать.
Разбор: Базовый механизм @Autowired — поиск по типу; неоднозначность нескольких бинов одного типа разрешают @Qualifier или @Primary, иначе будет NoUniqueBeanDefinitionException. Ловушки: совпадение по имени используется лишь как вторичный критерий при неоднозначности, а не первично; @Autowired работает на полях, сеттерах и конструкторах (с 4.3 единственный конструктор не требует аннотации); и Spring никогда не выбирает «по алфавиту» или «последний» молча.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.