Что такое DI (Dependency Injection) и какие виды есть?

Junior
457 просмотров
AFK Offer AI

DI — реализация IoC: зависимости передаются объекту извне, а не создаются внутри. Три вида: constructor injection (через конструктор — рекомендуется, обязательные зависимости), setter injection (через setter — опциональные зависимости), field injection (@Autowired на поле — удобно, но плохо для тестов, нельзя сделать final). Spring рекомендует constructor injection: поля final, объект полностью инициализирован после создания, легко тестировать без Spring.

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

В чём разница между JDK, JRE и JVM?