Встречается на собеседованиях • сегодня

Какой контейнер Spring Boot реализует принцип зависимости кода от абстракций

Spring Boot использует IoC-контейнер (Inversion of Control), который реализует Dependency Injection (DI) для управления зависимостями. Основной контейнер — ApplicationContext, который автоматически внедряет зависимости через аннотации (@Autowired, @Inject и др.), позволяя программировать на уровне интерфейсов (абстракций), а не конкретных реализаций.

Пример:

java
public interface MessageService {
    String getMessage();
}

@Service
public class EmailService implements MessageService {
    public String getMessage() {
        return "Email message";
    }
}

@RestController
public class NotificationController {
    @Autowired
    private MessageService messageService; // Зависимость от абстракции

    @GetMapping("/message")
    public String showMessage() {
        return messageService.getMessage();
    }
}

Здесь NotificationController зависит от интерфейса MessageService, а конкретная реализация (EmailService) подставляется контейнером Spring.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы