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

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

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

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

Также есть DI-фреймворки (Spring, Guice, Dagger), которые автоматизируют этот процесс через аннотации и конфигурации. Constructor injection предпочтительнее, так как делает зависимости явными и позволяет создавать immutable объекты.

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

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

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

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