Що таке впровадження залежностей у Spring із прикладом реального часу?

Впровадження залежностей (DI) — це процес, за допомогою якого об’єкти визначають свої залежності (тобто інші об’єкти, з якими вони працюють) лише за допомогою аргументів конструктора, аргументів фабричного методу або властивостей, які встановлюються для екземпляра об’єкта після його створення або повернуто із заводського методу.

Ось кілька реальних прикладів, які демонструють, як DI можна застосовувати в різних сценаріях: Надсилання електронних листів: уявіть клас EmailService, відповідальний за надсилання електронних листів. Традиційно він може безпосередньо створювати об’єкт EmailSender (залежність) у своєму конструкторі.

Ін'єкція залежності є фундаментальний аспект фреймворку Spring, за допомогою якого контейнер Spring «впроваджує» об’єкти в інші об’єкти або «залежності». Простіше кажучи, це забезпечує вільне з’єднання компонентів і перекладає відповідальність за керування компонентами на контейнер.

Ін'єкція залежності є техніка програмування, яка робить клас незалежним від його залежностей. Це досягається шляхом відокремлення використання об’єкта від його створення. Це допоможе вам дотримуватися принципів інверсії залежностей і єдиної відповідальності SOLID.

Ін'єкція залежностей на основі сетера Документація Spring рекомендує використовувати ін’єкцію на основі конструктора для обов’язкових залежностей і ін’єкцію на основі установщика для необов’язкових.

Існує три типи ін’єкції залежності ін'єкція конструктора, ін'єкція властивості та ін'єкція методу.