Junior — Middle
110
Hoe kies je een specifieke implementatie van de bean bij het registreren van nieuwe exemplaren met hetzelfde type in de bibliotheek?
Bedrijven waar gevraagd werd
Antwoord van AI
sobes.tech AI
В Java при использовании библиотек для внедрения зависимостей (например, Spring) можно зарегистрировать несколько бинов одного типа, но с разными именами или аннотациями. Чтобы выбрать конкретную реализацию при внедрении, используют:
- Именованные бины: при регистрации бина указывают имя, а при внедрении используют аннотацию
@Qualifierс этим именем. - Кастомные аннотации: создают собственные аннотации для маркировки бинов и используют их при внедрении.
Пример с использованием @Qualifier:
@Component("serviceA")
public class ServiceA implements MyService {}
@Component("serviceB")
public class ServiceB implements MyService {}
@Autowired
@Qualifier("serviceB")
private MyService myService;
Таким образом, можно явно указать, какой бин внедрять, если есть несколько реализаций одного интерфейса.