Spring middle
Что такое IoC и DI?
Ответ
IoC — контейнер управляет жизненным циклом. DI — зависимости внедряются извне. Три способа: конструктор (лучший), сеттер, поле (@Autowired). Constructor injection: поля final, явные зависимости, легко тестировать.
Разбор: IoC (инверсия управления) — общий принцип: жизненным циклом и связыванием объектов управляет контейнер, а не сам объект; DI — конкретная реализация этого принципа, когда зависимости передаются извне (конструктор/сеттер/поле). Ловушка в отождествлении понятий, в подмене DI на сервис-локатор (getBean) и в смешивании с AOP/транзакциями.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.