Sobes.tech
Junior — Middle

Kaip pasirinkti ir įgyvendinti du atskirus Bean pavyzdžius to paties tipo Spring programoje?

sobes.tech AI

Atsakymas iš 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();
    }
}

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