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

Какие знаешь особенности реализации Inversion of Control через Dependency Injection в Quarkus

Quarkus использует CDI (Contexts and Dependency Injection) для IoC/DI, но с оптимизациями под GraalVM. **Особенности:** 1. **Облегченный CDI** – поддерживает только подмножество CDI (нет EJB, только `@ApplicationScoped`, `@RequestScoped`). 2. **Compile-time DI** – зависимости разрешаются на этапе компиляции (уменьшает runtime-накладные расходы). 3. **`@Inject` не обязателен** – если есть единственный конструктор, Quarkus автоматически внедрит зависимости. **Пример:** ```java @ApplicationScoped public class GreetingService { public String greet() { return "Hello!"; } } @Path("/hello") public class GreetingResource { private final GreetingService service; // Внедрение через конструктор (без @Inject) public GreetingResource(GreetingService service) { this.service = service; } } ``` **Дополнительно:** - Для кастомных бинов можно использовать `@Produces`. - Циклические зависимости нужно явно разрывать через `@Inject Provider`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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