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

Как можно внедрить зависимости помимо внедрения через конструктор

В Java зависимости можно внедрять несколькими способами:

  1. Setter Injection - через сеттеры:
java
public class Service {
    private Repository repo;
    
    public void setRepo(Repository repo) {
        this.repo = repo;
    }
}
  1. Field Injection - прямо в поле (обычно через аннотации):
java
public class Service {
    @Autowired
    private Repository repo;
}
  1. Method Injection - через любой метод:
java
public class Service {
    private Repository repo;
    
    @Autowired
    public void configure(Repository repo) {
        this.repo = repo;
    }
}
  1. Interface Injection - через специальный интерфейс.

Плюсы конструкторного внедрения: неизменяемость, явность зависимостей, удобство тестирования. Другие способы используют, когда нужна гибкость (например, опциональные зависимости) или при работе с фреймворками вроде Spring.

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

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

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

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