Sobes.tech
Junior — Middle

Wie kann man mehrere Komponenten desselben Typs im Spring-Container deklarieren?

sobes.tech KI

Antwort von AI

Im Spring-Container können mehrere Komponenten desselben Typs deklariert werden, indem verschiedene Bean-Namen oder Annotations mit eindeutigen Identifikatoren verwendet werden. Zum Beispiel mit der Annotation @Component("beanName") oder @Bean(name = "beanName") in einer Konfigurationsklasse.

Beispiel:

@Component("serviceA")
public class MyService implements ServiceInterface {
    // Implementierung
}

@Component("serviceB")
public class AnotherService implements ServiceInterface {
    // andere Implementierung
}

Bei der Injektion kann ein konkreter Bean nach Namen mit @Qualifier angegeben werden:

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

Auf diese Weise speichert der Spring-Container mehrere Komponenten desselben Typs und unterscheidet sie anhand ihrer Namen.