Назад к вопросам
Junior — Middle
84
Как выбрать и внедрить два отдельных экземпляра Bean одинакового типа в приложении Spring?
Компании, где спрашивали
Right Line
Ответ от нейросети
sobes.tech AI
В Spring можно создать два отдельных экземпляра Bean одного типа, присвоив им разные имена (идентификаторы) и внедрять их по имени с помощью аннотации @Qualifier.
Пример:
@Component("beanOne")
public class MyBean {
// реализация
}
@Component("beanTwo")
public class MyBean {
// другая реализация или конфигурация
}
// Внедрение
@Autowired
@Qualifier("beanOne")
private MyBean firstBean;
@Autowired
@Qualifier("beanTwo")
private MyBean secondBean;
Если используется конфигурация через @Bean:
@Configuration
public class AppConfig {
@Bean("beanOne")
public MyBean myBeanOne() {
return new MyBean();
}
@Bean("beanTwo")
public MyBean myBeanTwo() {
return new MyBean();
}
}
Таким образом, можно управлять разными экземплярами одного типа и внедрять нужный по контексту.