Назад к вопросам
Junior — Middle
65
Можете объяснить концепцию внедрения зависимостей в Java и как она применяется?
Ответ от нейросети
sobes.tech AI
Внедрение зависимостей (Dependency Injection, DI) — это паттерн, который позволяет передавать объектам необходимые им зависимости извне, а не создавать их внутри. В Java это помогает сделать код более модульным, тестируемым и легко поддерживаемым.
Пример: вместо того, чтобы класс создавал внутри себя объект зависимости, он получает его через конструктор или сеттер.
public class Service {
private Repository repository;
// Внедрение зависимости через конструктор
public Service(Repository repository) {
this.repository = repository;
}
public void doWork() {
repository.save();
}
}
// При создании объекта Service мы передаем нужную реализацию Repository
Repository repo = new DatabaseRepository();
Service service = new Service(repo);
В Java часто используют фреймворки (например, Spring), которые автоматически управляют созданием и внедрением зависимостей, что упрощает разработку.