Sobes.tech
Junior — Middle
125

Ako vybrať konkrétnu implementáciu komponentu Bean pre injekciu v projekte Spring?

Spoločnosti boli požiadané
IT OneIT One

Odpoveď od AI

sobes.tech AI

В Spring для выбора конкретной реализации компонента (Bean) при внедрении зависимости можно использовать несколько подходов:

  1. Аннотация @Qualifier — позволяет указать имя конкретного бина, если существует несколько реализаций одного интерфейса.
@Autowired
@Qualifier("mySpecificBean")
private MyInterface myBean;
  1. Имя бина — можно внедрять бин по имени, если использовать аннотацию @Resource(name = "beanName").

  2. Аннотация @Primary — помечает один бин как основной, который будет внедряться по умолчанию, если не указан @Qualifier.

  3. Использование конфигурационных классов — можно явно создавать бин нужной реализации с определённым именем.

Таким образом, если в контексте есть несколько реализаций, @Qualifier — самый распространённый способ выбрать нужную.