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

Какие знаешь варианты внедрения зависимостей

В Java есть три основных способа внедрения зависимостей:

  1. Через конструктор (наиболее предпочтительный):
java
public class Service {
    private final Repository repo;
    
    public Service(Repository repo) {
        this.repo = repo;
    }
}
  1. Через сеттеры:
java
public class Service {
    private Repository repo;
    
    public void setRepo(Repository repo) {
        this.repo = repo;
    }
}
  1. Через поля (менее предпочтительный из-за сложности тестирования):
java
public class Service {
    @Autowired
    private Repository repo;
}

Также DI можно реализовать:

  • Вручную (без фреймворков)
  • С помощью контейнеров (Spring, Guice)
  • Через интерфейсы (более гибкий вариант)

Конструкторный инъекция рекомендуется, так как:

  • Делает зависимости явными
  • Позволяет делать поля final
  • Упрощает тестирование
  • Гарантирует инициализацию зависимостей
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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