Sobes.tech
Back to questions
Junior — Middle
59

Каким образом можно задекларировать несколько компонентов одного типа в Spring Container?

Companies where asked
Right Line

Answer from AI

sobes.tech AI

В Spring Container можно задекларировать несколько компонентов одного типа, используя разные имена бинов или аннотации с указанием уникальных идентификаторов. Например, с помощью аннотации @Component("beanName") или @Bean(name = "beanName") в конфигурационном классе.

Пример:

@Component("serviceA")
public class MyService implements ServiceInterface {
    // реализация
}

@Component("serviceB")
public class AnotherService implements ServiceInterface {
    // другая реализация
}

При внедрении можно указать конкретный бин по имени с помощью @Qualifier:

@Autowired
@Qualifier("serviceA")
private ServiceInterface service;

Таким образом, Spring Container хранит несколько компонентов одного типа, различая их по именам.