Встречается на собеседованиях • сегодня
Как внедрить все реализации в интерфейсе
В Java можно внедрить все реализации интерфейса с помощью механизма Dependency Injection (например, Spring) или ручного сбора. Вот пример:
```java
// Интерфейс
public interface Service {
void execute();
}
// Реализации
@Component
public class ServiceA implements Service { /*...*/ }
@Component
public class ServiceB implements Service { /*...*/ }
// Внедрение всех реализаций
@Service
public class ConsumerService {
private final List services;
@Autowired // В Spring
public ConsumerService(List services) {
this.services = services;
}
public void useAllServices() {
services.forEach(Service::execute);
}
}
```
Ключевые моменты:
1. Spring автоматически соберет все бины-реализации интерфейса в List
2. Можно использовать Set вместо List для уникальных реализаций
3. Для ручного внедрения (без Spring) нужно создать коллекцию вручную

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы