Spring trainee
Как разрешить конфликт, если бинов несколько?
Ответ
@Primary — пометить «приоритетный» бин. @Qualifier("name") — точечно выбрать конкретный. @Profile("prod") — активировать в определённом окружении. @ConditionalOnProperty / @ConditionalOnMissingBean — условное создание.
Разбор: Конфликт нескольких кандидатов решают @Primary (приоритетный бин), @Qualifier("name") (точечный выбор по имени), @Profile и условные аннотации (@ConditionalOnProperty/@ConditionalOnMissingBean). @Primary ставится на самом бине, а не в точке внедрения; при неоднозначности без этих средств Spring бросает NoUniqueBeanDefinitionException, а не берёт «первый», и в последнем варианте назначения @Qualifier и @Primary перепутаны.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.