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

Как реализуется Inversion of Control через Dependency Injection в Quarkus

Quarkus использует CDI (Contexts and Dependency Injection) для IoC. Основные способы внедрения зависимостей:

  1. Через конструктор (рекомендуемый способ):
java
@ApplicationScoped
public class MyService {
    private final MyRepository repository;

    @Inject
    public MyService(MyRepository repository) {
        this.repository = repository;
    }
}
  1. Через поле:
java
@ApplicationScoped
public class MyService {
    @Inject
    MyRepository repository;
}
  1. Через метод-сеттер:
java
@ApplicationScoped
public class MyService {
    private MyRepository repository;

    @Inject
    public void setRepository(MyRepository repository) {
        this.repository = repository;
    }
}

Quarkus автоматически управляет жизненным циклом бинов (по умолчанию @ApplicationScoped). Можно использовать другие скоупы: @RequestScoped, @SessionScoped, @Dependent. Для кастомных зависимостей используются производители (@Produces).

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

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

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

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