Sobes.tech
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
IT OneIT One

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;

Таким образом, можно явно указать, какой бин внедрять, если есть несколько реализаций одного интерфейса.