Sobes.tech
Junior — Middle
93

Kütüphanede aynı türde yeni örnekler kaydederken belirli bir bean uygulamasını nasıl seçersiniz?

Sorulan şirketler
IT OneIT One

AI'dan gelen yanıt

sobes.tech yapay zeka

В Java при использовании библиотек для внедрения зависимостей (например, Spring) можно зарегистрировать несколько бинов одного типа, но с разными именами или аннотациями. Чтобы выбрать конкретную реализацию при внедрении, используют:

  • Именованные бины: при регистрации бина указывают имя, а при внедрении используют аннотацию @Qualifier с этим именем.
  • Кастомные аннотации: создают собственные аннотации для маркировки бинов и используют их при внедрении.

Пример с использованием @Qualifier:

@Component("serviceA")
public class ServiceA implements MyService {}

@Component("serviceB")
public class ServiceB implements MyService {}

@Autowired
@Qualifier("serviceB")
private MyService myService;

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