Senior
79
¿Cómo inyecta Spring todas las implementaciones de una interfaz en un servicio?
Empresas donde se preguntó
EXPERA
Respuesta de la IA
sobes.tech AI
Spring может инжектировать все реализации интерфейса в сервис с помощью коллекций, например, List или Set. Для этого в сервисе объявляют поле или параметр конструктора с типом коллекции интерфейса, и Spring автоматически подставит все бины, реализующие этот интерфейс.
Пример:
@Service
public class MyService {
private final List<MyInterface> implementations;
public MyService(List<MyInterface> implementations) {
this.implementations = implementations;
}
public void doWork() {
for (MyInterface impl : implementations) {
impl.execute();
}
}
}
Здесь Spring найдет все бины, реализующие MyInterface, и передаст их в конструктор в виде списка. Это удобно для плагинов или расширяемых компонентов.