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

В чем разница между D в SOLID и Dependency Injection в Spring

D в SOLID (Dependency Inversion Principle) гласит, что модули верхнего уровня не должны зависеть от модулей нижнего уровня — оба должны зависеть от абстракций. Абстракции не должны зависеть от деталей — детали должны зависеть от абстракций.

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

Пример DI в Spring:

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

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
}

Разница:

  • DIP — это принцип проектирования, абстрактная идея.
  • DI — это конкретный механизм реализации DIP, который Spring предоставляет "из коробки".
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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