Sobes.tech
Junior — Middle

Cu ce alte metode se poate realiza injecția de dependențe, în afară de utilizarea constructorului?

sobes.tech AI

Răspuns de la AI

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

  • Сеттеры (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();
    }
}

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