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

Что такое Dependency Injection в контексте Spring

Dependency Injection (DI) — это механизм, при котором зависимости объекта (другие объекты или сервисы) не создаются внутри класса, а передаются извне (например, через конструктор, сеттеры или поля). Spring реализует DI через IoC-контейнер, управляя жизненным циклом бинов и их связями.

Пример через конструктор:

java
@Service
public class UserService {
    private final UserRepository userRepository;

    @Autowired // можно опустить в Spring 4.3+
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
}

Преимущества:

  • Уменьшает связанность кода.
  • Упрощает тестирование (можно передавать mock-объекты).
  • Позволяет централизованно управлять зависимостями.

Spring поддерживает DI через аннотации (@Autowired, @Inject), XML-конфигурацию или JavaConfig.

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

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

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

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