logo

Ињекција зависности у пролеће

  1. Ињекција зависности у пролеће
  2. Депенденци Лоокуп
  3. Убризгавање зависност

Ињекција зависности (ДИ) је образац дизајна који уклања зависност од програмског кода тако да може бити лако управљати и тестирати апликацију. Ињекција зависности чини наш програмски код слабо повезаним. Да бисмо боље разумели ДИ, хајде да прво разумемо претрагу зависности (ДЛ):

Депенденци Лоокуп

Провера зависности је приступ где добијамо ресурсе након потражње. Постоје различити начини за добијање ресурса, на пример:

 A obj = new AImpl(); 

На тај начин добијамо ресурс (инстанцу А класе) директно по новој кључној речи. Други начин је фабрички метод:

арраи.фром јава
 A obj = A.getA(); 

На овај начин добијамо ресурс (инстанцу А класе) позивањем статичког фабричког метода гетА().

Алтернативно, можемо добити ресурс путем ЈНДИ (Јава интерфејс именика) као:

 Context ctx = new InitialContext(); Context environmentCtx = (Context) ctx.lookup('java:comp/env'); A obj = (A)environmentCtx.lookup('A'); 

Могу постојати различити начини да добијете ресурс да бисте добили ресурс. Хајде да видимо проблем у овом приступу.

Проблеми тражења зависности

Постоје углавном два проблема тражења зависности.

како пронаћи блокиране бројеве на андроиду
    чврсто спајањеПриступ тражења зависности чини код чврсто повезаним. Ако се ресурс промени, потребно је да извршимо доста измена у коду.Није лако за тестирањеОвај приступ ствара много проблема током тестирања апликације, посебно у тестирању црне кутије.

Убризгавање зависност

Ињекција зависности је образац дизајна који уклања зависност програма. У том случају пружамо информације из екстерног извора као што је КСМЛ датотека. То чини наш код слабо повезаним и лакшим за тестирање. У том случају пишемо код као:

 class Employee{ Address address; Employee(Address address){ this.address=address; } public void setAddress(Address address){ this.address=address; } } 

У том случају, инстанцу класе Аддресс обезбеђује екстерни извор, као што је КСМЛ датотека, било методом конструктора или методом за подешавање.

Два начина за извођење убризгавања зависности у Спринг оквиру

Спринг оквир пружа два начина за убризгавање зависности

  • Би Цонструцтор
  • Методом Сетера

Предстојеће теме у Спринг Депенденци Ињецтион

Ињекција зависности од стране конструктора

Хајде да видимо како можемо да убацимо зависност помоћу конструктора.

нфа за дфа

Ињекција зависности методом постављача

Хајде да видимо како можемо да убацимо зависност методом постављача.