Спринг Фрамеворк објашњен за 5 минута или мање

Спринг Фрамеворк је моћан опен-соурце оквир за развој Јава апликација који олакшава креирање робусних апликација високих перформанси.

Отворени код се односи на нешто што људи могу да приступе, мењају и деле слободно пошто је изворни код слободно доступан.

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

Ако сте нови у развоју апликација, почетак рада са Спринг Фрамеворк-ом може бити одличан почетак за вас. У овом чланку ћете научити шта је то и како га користити.

Преглед садржаја

Шта је Спринг Фрамеворк?

Спринг Фрамеворк је оквир отвореног кода који програмери користе за креирање пословних Јава апликација. Овај оквир је креирао Род Џонсон и објављен 2003. под лиценцом Апацхе 2.0.

Неки програмери обично басх Јава и тврде да је гломазно креирати основне апликације. Спринг Фрамеворк има за циљ да поједностави гломазан и сложен процес развоја пословних Јава апликација.

Пролеће је широко. Стога је препоручљиво да прво разумете шта је Спринг фрамеворк пре него што почнете да користите друге пројекте засноване на Спрингу, као што су Спринг Боот, Спринг ГрапхКЛ и Спринг Цлоуд.

Зашто користити Спринг Фрамеворк?

  • Флексибилно. Овај оквир нуди технологије као што су аспектно оријентисано програмирање (АОП), убризгавање зависности (ДИ) и Плаин Олд Јава Објецт (ПОЈО). Тако можете користити пролеће за постизање различитих циљева.
  • Пролеће је брзо. Упркос томе што поседује све ове технологије, Спринг Фрамеворк је и даље лаган, што га чини идеалним за креирање скалабилних и робусних веб апликација за предузећа.
  • Сјајна заједница. Пролеће има разнолику заједницу и можете јој веровати да ће вам помоћи у разним решењима у тренутку када вам је то потребно.
  • Сецуре. Пролеће је познато по својим безбедносним мерама, а рањивости се увек поправљају честим закрпама. Зависности трећих страна се увек надгледају како би се осигурало да њихове рањивости не ометају основни процес.
  • Продуктиван. Спринг Фрамеворк поједностављује искуство развоја Јава апликација за предузећа.
  Шта је Бокех у фотографији и како га креирате?

Спрингс Феатурес

Подржава аспектно оријентисано програмирање

Аспектно оријентисано програмирање пружа више модуларности за свеобухватне проблеме. АОП такође допуњује објектно оријентисано програмирање.

Главна јединица модуларности у АОП-у је свеобухватна брига (Аспект). Програмери тако могу креирати декларативне услуге предузећа и прилагођене аспекте.

Инверзија контролног (ИоЦ) контејнера

ИоЦ контејнер нуди поједностављен начин управљања и конфигурисања Јава објеката. Животним циклусом дефинисаног Јава објекта управља овај контејнер, што значајно повећава могућност реконфигурације апликације засноване на Спринг-у.

Инверзија контроле користи тражење зависности или обрасце убризгавања зависности да понуди референтно време извршавања објекта. ИоЦ контејнер долази са асемблерским кодом потребним за управљање конфигурацијом.

Оквир за приступ подацима

Процес комуникације података је поједностављен јер Спринг има директну подршку за Хибернате, ЈДБЦ и Јава Персистенце АПИ (ЈПА), неке од најпопуларнијих оквира за приступ подацима у Јави. Такође можете рачунати на овај оквир да бисте понудили функције као што су премотавање ресурса, руковање изузетцима и управљање ресурсима за све подржане оквире за приступ подацима.

Спринг МВЦ оквир

Програмери могу да користе овај оквир заснован на захтевима да креирају прилагођене МВЦ имплементације које одговарају њиховим потребама.

Класа ДиспатцхерСервлет, задужена за руковање захтевима корисника, а затим их прослеђује правом контролеру, налази се у сржи Спринг МВЦ-а. Контролор тако може обрадити захтев, креирати модел и понудити информације крајњем кориснику кроз одређени приказ.

Има неколико тест оквира

Можете тестирати своје апликације засноване на Спринг-у док их развијате кроз моцк објекте, оквир ТестЦонтект или Спринг МВЦ тест.

Језичка подршка

Спринг фрамеворк подржава Гроови и Котлин.

Спринг Арцхитецтуре

Спринг Фрамеворк долази са око 20 модула. Добра ствар са овим оквиром је што вам омогућава да изаберете модуле који су применљиви на ваш случај употребе. Ови модули су груписани у Цоре Цонтаинер, АОП (Аспецт Ориентед Программинг), Приступ подацима/Интеграција, Веб, Инструментација и Тест.

Слика кредита: Спринг.ио

#1. Цоре Цонтаинер

Основни контејнер Спринг Фрамеворк-а садржи моделе Цоре, Беанс, Цонтект и Екпрессион Лангуаге. Ови језички модели су корисни на следеће начине;

  • Модул Цоре је основни део оквира. Наћи ћете ИоЦ и функције убризгавања зависности у језгру.
  • Беан модул је познат по БеанФацтори, софистицираној имплементацији фабричког обрасца.
  • Модул Цонтект је изграђен на Цоре и Беан модулима. Овај модул наслеђује своје карактеристике од Беан модула, али додаје подршку за интернационализацију.
  • Модул Екпрессион Лангуаге нуди моћан језик израза за манипулисање и испитивање графа објеката током времена извршавања.
  Како безбедно очистити слушалице и врхове за уши

#2. Приступ подацима/Интеграција

ЈДБЦ, ОРМ, ОКСМ, ЈМС и Трансакциони модули чине слој приступа подацима/интеграције. Ови модули обављају следеће;

  • ЈДБЦ модул има слој ЈБДЦ апстракције који елиминише потребу за заморним ЈДБЦ кодирањем, као и рашчлањивањем кодова грешака специфичних за базу података.
  • ОРМ је слој интеграције за неке од популарних АПИ-ја за мапирање објеката као што су ЈПА, ЈДО, Хибернате и иБатис. ‘
  • ОКСМ модул је слој апстракције који подржава имплементације мапирања објеката/КСМЛ за КССтреам, ЈАКСБ, ЈиБКС, Цастор и КСМЛБеанс.
  • Трансакциони модул подржава декларативно и програмско управљање трансакцијама за класе које имплементирају посебне интерфејсе.
  • Модул Јава Мессагинг Сервице (ЈМС) има функције које производе и конзумирају поруке.

#3. АОП (Аспецт Ориентед Программинг) и инструментација

Овај модул долази са имплементацијом аспектно оријентисаног програмирања усклађеном са АОП Алијансом, што олакшава дефинисање ствари као што су пресретачи метода. С друге стране, модул Инструментатион нуди подршку за учитавање класа и инструментацију класа која се користи на одређеним серверима апликација.

#4. Веб

Веб, Веб-сервлет, Веб-Струтс и Веб-портлет модули чине Веб слој.

  • Веб модул је одговоран за основне карактеристике интеграције оријентисане на веб, као што је функционалност вишеделног отпремања датотека.
  • Веб-Сервлет модул карактерише Спринг МВЦ имплементација за веб апликације.
  • Модул Веб-Портлет одражава функционалност модула Веб-Сервлет. Модул Веб-Портлет нуди имплементацију МВЦ-а која се користи у окружењу портлета.
  • Веб-Соцкет модул подржава двосмерну комуникацију између сервера и клијента у веб апликацијама.

#5. Тест

Модул Тест је последњи део Спринг архитектуре. То је модул који подржава тестирање Спринг компоненти са ТестНГ или ЈУнит.

Инсталирајте Спринг Фрамеворк

Проверите да ли је Јава инсталирана

Пре него што научимо како Спринг Фрамеворк функционише, морамо да инсталирамо Спринг на наш рачунар. Спринг документација има опсежне ресурсе о томе како да започнете у зависности од вашег оперативног система.

За наш случај користићемо Убунту 20.04.5, оперативни систем заснован на Линуку.

Пре инсталирања Спринг, проверите да ли имате инсталирану Јава помоћу ове команде

java -version

Ако имате инсталирану Јаву, имаћете излаз сличан овом снимку екрана.

Ако га немате на рачунару, постоји неколико приступа за инсталирање Јаве на основу ваших потреба.

  Како максимално искористити слободно време код куће

Инсталирајте Спринг фрамеворк

Постоји неколико приступа инсталирању Спринг оквира, као што је истакнуто у Спринг документима.

За наш случај користићемо ГВМ (Грови Енвиронмент Манагер). Можете добити ГВМ користећи ГВМтоол или га инсталирати на командној линији.

Када имате ГВМ, користите следеће команде да бисте инсталирали и проверили да ли је Спринг фрамеворк инсталиран

gvm install springboot
spring --version

Вероватно ћете добити излаз који изгледа овако ако је Спринг инсталиран

Важни термини повезани са оквиром Спринг

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

Ињекција зависности је функција која омогућава програмерима да креирају независне објекте ван класе. ДИ такође омогућава корисницима да обезбеде те објекте класи на различите начине.

Инверзија контроле (ИоЦ)

ИоЦ је концепт који преноси контролу над деловима програма или објеката на оквир или контејнер. У традиционалном програмирању, наш прилагођени код упућује позиве библиотеци. С друге стране, ИоЦ дозвољава оквиру (у овом случају Спринг) да позива наш прилагођени код и контролише ток програма.

Аспектно оријентисано програмирање (АОП)

АОП је техника за изградњу уобичајених рутина за вишекратну употребу које се могу применити у целој апликацији. Такав приступ одваја поновљиве задатке (као што су валидација уноса, евидентирање и руковање грешкама) од основне логике апликације.

Ресурси за учење Спринг Фрамеворк

#1. Реактивно програмирање са Спринг Фрамеворк 5

Овај пролећни курс се састоји од видео записа, чланака и ресурса за преузимање. Курс подучава функционално програмирање са Јавом, како користити микросервис са Спринг ВебФлук-ом и како користити реактивне типове у Спринг Дата МонгоДБ.

#2. Мастер Цласс Спринг Фрамеворк

Мастер Цласс Спринг Фрамеворк је плаћени курс који подучава прави начин на који Јава пројекти користе Спринг Фрамеворк. Научићете како да користите различите алате као што су Спринг Боот, ЈУнит & Моцкито, Спринг ЈДБЦ, Спринг АОП и Хибернате.

#3. Спринг Фрамеворк у једноставним корацима

Спринг Фрамеворк Ин Еаси Степс је идеалан премиум курс ако желите да креирате Енд то Енд Јава ЕЕ веб апликације користећи Спринг Фрамеворк. Неке од ствари које ћете научити су како да развијете веб апликације користећи Спринг МВЦ, како да упутите Ајак позив користећи ЈКуери и Спринг МВЦ, и како да користите Спринг ЈДБЦ за обављање операција базе података, да поменемо неке.

#4. Спринг Фрамеворк 5

Курс Спринг Фрамеворк 5 је идеалан ако желите да научите Леарн Спринг Фрамеворк 5, Спринг Дата МонгоДБ, Спринг Боот 2, Спринг МВЦ, Спринг Дата ЈПА и Хибернате. Можете рачунати на 57 сати видео записа на захтев, 13 чланака и много материјала за преузимање.

Напомена аутора

Јава остаје један од најпопуларнијих програмских језика у савременом свету. Иако се уводе нови језици, оквири као што је Спринг доносе нови живот Јави и проширују њену корисност. Стога ћемо вероватно наставити да имамо потражњу за Јава инжењерима јер су они потребни за одржавање застарелог кода и креирање нових апликација.

Закључак

Спринг је високо рангиран међу Јава ЕЕ оквирима и надамо се да сада разумете шта је Спринг Фрамеворк, његове карактеристике, архитектуру и радни процес. Када се комбинује са другим Спринг пројектима, Спринг Фрамеворк нуди програмерима различите развојне алате који се могу користити у различитим развојним окружењима.