Junior — Middle
91
Kako odabrati specifičnu implementaciju beana prilikom registracije novih primeraka istog tipa u biblioteci?
Компаније где су питане
Одговор од АИ
sobes.tech АИ
В Java при использовании библиотек для внедрения зависимостей (например, Spring) можно зарегистрировать несколько бинов одного типа, но с разными именами или аннотациями. Чтобы выбрать конкретную реализацию при внедрении, используют:
- Именованные бины: при регистрации бина указывают имя, а при внедрении используют аннотацию
@Qualifierс этим именем. - Кастомные аннотации: создают собственные аннотации для маркировки бинов и используют их при внедрении.
Пример с использованием @Qualifier:
@Component("serviceA")
public class ServiceA implements MyService {}
@Component("serviceB")
public class ServiceB implements MyService {}
@Autowired
@Qualifier("serviceB")
private MyService myService;
Таким образом, можно явно указать, какой бин внедрять, если есть несколько реализаций одного интерфейса.