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

Какие знаешь виды Dependency Injection

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

  1. Constructor Injection - зависимости передаются через конструктор. Самый предпочтительный способ, так как делает зависимости явными и неизменяемыми.
java
public class UserService {
    private final UserRepository repository;
    
    public UserService(UserRepository repository) {
        this.repository = repository;
    }
}
  1. Setter Injection - зависимости устанавливаются через setter-методы. Позволяет изменять зависимости после создания объекта.
java
public class UserService {
    private UserRepository repository;
    
    public void setRepository(UserRepository repository) {
        this.repository = repository;
    }
}
  1. Field Injection - зависимости внедряются напрямую в поля класса (обычно через аннотации). Не рекомендуется из-за проблем с тестированием и нарушением инкапсуляции.
java
public class UserService {
    @Autowired
    private UserRepository repository;
}

Также существует Interface Injection (менее распространенный), где зависимость внедряется через специальный интерфейс.

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

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

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

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