Back to questions
СБЕР
Junior — Middle
53
Какими методами реализуется внедрение зависимостей в программный код?
Companies where asked
Answer from AI
sobes.tech AI
Внедрение зависимостей (Dependency Injection, DI) в Java реализуется несколькими способами:
- Через конструктор — зависимости передаются в конструктор класса.
public class Service {
private final Repository repo;
public Service(Repository repo) {
this.repo = repo;
}
}
- Через сеттеры (Setter Injection) — зависимости устанавливаются через методы-сеттеры.
public class Service {
private Repository repo;
public void setRepository(Repository repo) {
this.repo = repo;
}
}
-
Через интерфейсы (Interface Injection) — класс реализует интерфейс, который позволяет внедрять зависимости.
-
Использование фреймворков DI — например, Spring Framework, Guice, которые автоматически управляют созданием и внедрением зависимостей через аннотации (
@Autowired,@Inject) и конфигурации.
Пример с Spring:
@Service
public class Service {
private final Repository repo;
@Autowired
public Service(Repository repo) {
this.repo = repo;
}
}
Таким образом, DI позволяет отделить создание зависимостей от их использования, улучшая тестируемость и модульность кода.