Sobes.tech
Junior — Middle

Quelles autres méthodes peuvent être utilisées pour réaliser l'injection de dépendances, en dehors de l'utilisation du constructeur?

sobes.tech IA

Réponse de l'IA

Кроме инъекции зависимостей через конструктор, можно использовать следующие способы:

  • Сеттеры (Setter Injection): зависимости передаются через методы установки (сеттеры). Позволяет менять зависимости после создания объекта.

  • Инъекция через поля (Field Injection): зависимости внедряются напрямую в поля класса, обычно с помощью аннотаций (например, @Autowired в Spring).

  • Инъекция через интерфейс (Interface Injection): класс реализует интерфейс, который содержит метод для передачи зависимости.

Пример Setter Injection на Java:

public class Service {
    private Repository repository;

    public void setRepository(Repository repository) {
        this.repository = repository;
    }

    public void perform() {
        repository.doSomething();
    }
}

Каждый способ имеет свои плюсы и минусы, выбор зависит от требований к гибкости и тестируемости кода.