Пролетната рамка, обяснена за 5 минути или по-малко

Spring Framework е мощна рамка за разработка на Java приложения с отворен код, която улеснява създаването на стабилни приложения с висока производителност.

Отвореният код се отнася до нещо, което хората могат да имат достъп, да променят и споделят свободно, тъй като изходният код е свободно достъпен.

Рамката за приложения с отворен код е шаблон за разработка на софтуер, създаден от група разработчици на софтуер. Съществуват различни видове шаблони, използвани за различни цели, като създаване на потребителски интерфейси, уебсайтове и основни софтуерни приложения.

Ако сте нов в разработката на приложения, да започнете с Spring Framework може да е страхотно начало за вас. В тази статия ще научите какво представлява и как да го използвате.

Какво е Spring Framework?

Spring Framework е рамка с отворен код, която разработчиците използват за създаване на корпоративни Java приложения. Тази рамка е създадена от Род Джонсън и пусната през 2003 г. под лиценза Apache 2.0.

Някои програмисти обикновено разбиват Java и твърдят, че е тромаво за създаване на основни приложения. Spring Framework има за цел да опрости тромавия и сложен процес на разработване на корпоративни Java приложения.

Пролетта е широка. Поради това е препоръчително първо да разберете какво представлява рамката на Spring, преди да започнете да използвате други проекти, базирани на Spring, като Spring Boot, Spring GraphQL и Spring Cloud.

Защо да използвате Spring Framework?

  • Гъвкав. Тази рамка предлага технологии като аспектно-ориентирано програмиране (AOP), инжектиране на зависимости (DI) и обикновен стар Java обект (POJO). Така можете да използвате Spring за постигане на различни цели.
  • Пролетта е бърза. Въпреки наличието на всички тези технологии, Spring Framework все още е лек, което го прави идеален за създаване на мащабируеми и стабилни корпоративни уеб приложения.
  • Страхотна общност. Spring има разнообразна общност и можете да й се доверите, за да ви помогне с различни решения в час на нужда.
  • Сигурно. Spring е известен със своите мерки за сигурност и уязвимостите винаги се коригират чрез чести пачове. Зависимостите на трети страни винаги се наблюдават, за да се гарантира, че техните уязвимости не пречат на основния процес.
  • Продуктивен. Spring Framework рационализира изживяването при разработването на Java корпоративни приложения.
  Как да получите виртуален телефонен номер за вашия бизнес?

Характеристики на пружините

Поддържа аспектно-ориентирано програмиране

Аспектно-ориентираното програмиране осигурява повече модулност на междусекторните проблеми. AOP допълва и обектно-ориентираното програмиране.

Основната единица на модулност в AOP е междусекторен проблем (Aspect). По този начин разработчиците могат да създават декларативни корпоративни услуги и персонализирани аспекти.

Инверсия на контролния (IoC) контейнер

IoC контейнерът предлага рационализиран начин за управление и конфигуриране на Java обекти. Жизненият цикъл на дефиниран Java обект се управлява от този контейнер, което значително увеличава възможността за преконфигуриране на Spring-базирано приложение.

Инверсията на контрола използва търсене на зависимост или шаблони за инжектиране на зависимост, за да предложи референтното време за изпълнение на обекта. IoC контейнерът идва с асемблерния код, необходим за управление на конфигурацията.

Рамка за достъп до данни

Процесът на комуникация на данни е опростен, тъй като Spring има директна поддръжка за Hibernate, JDBC и Java Persistence API (JPA), някои от най-популярните рамки за достъп до данни в Java. Можете също така да заложите на тази рамка, за да предложите функции като обвиване на ресурси, обработка на изключения и управление на ресурси за всички поддържани рамки за достъп до данни.

Пролетна MVC рамка

Разработчиците могат да използват тази базирана на заявка рамка, за да създават персонализирани MVC реализации, които отговарят на техните нужди.

Класът DispatcherServlet, който има за задача да обработва заявките на потребителите и след това да ги препраща към правилния контролер, стои в основата на Spring MVC. По този начин контролерът може да обработи заявка, да създаде модел и да предложи информация на крайния потребител чрез определен изглед.

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

Можете да тествате своите Spring-базирани приложения, докато ги разработвате чрез Mock обекти, рамката TestContext или Spring MVC Test.

Езикова поддръжка

Spring framework поддържа Groovy и Kotlin.

Пролетна архитектура

Spring Framework идва с около 20 модула. Хубавото на тази рамка е, че ви позволява да изберете модули, които са приложими за вашия случай на употреба. Тези модули са групирани в Core Container, AOP (Аспектно ориентирано програмиране), Data Access/Integration, Web, Instrumentation и Test.

Кредит за изображение: Spring.io

#1. Контейнер за сърцевина

Основният контейнер на Spring Framework съдържа модели Core, Beans, Context и Expression Language. Тези езикови модели са полезни по следните начини;

  • Основният модул е ​​основната част от рамката. Ще намерите IoC и функции за инжектиране на зависимости в Core.
  • Модулът Bean е известен с BeanFactory, усъвършенствана реализация на фабричния модел.
  • Модулът Context е изграден върху модулите Core и Bean. Този модул наследява функциите си от модула Bean, но добавя поддръжка за интернационализация.
  • Модулът Expression Language предлага мощен изразен език за манипулиране и запитване на обектна графика по време на изпълнение.
  Можете ли да бъдете проследени на Kik?

#2. Достъп/интегриране на данни

Модулите JDBC, ORM, OXM, JMS и Transaction съставляват слоя за достъп/интегриране на данни. Тези модули извършват следното;

  • Модулът JDBC има JBDC-абстракционен слой, който елиминира необходимостта от извършване на досадно JDBC кодиране, както и анализиране на кодове за грешка, специфични за доставчика на база данни.
  • ORM е интеграционен слой за някои от популярните API за обектно-релационно картографиране като JPA, JDO, Hibernate и iBatis. ‘
  • Модулът OXM е абстракционен слой, поддържащ реализации на картографиране на Object/XML за XStream, JAXB, JiBX, Castor и XMLBeans.
  • Модулът Transaction поддържа декларативно и програмно управление на транзакции за класове, прилагащи специални интерфейси.
  • Модулът Java Messaging Service (JMS) има функции, които произвеждат и консумират съобщения.

#3. AOP (Аспектно ориентирано програмиране) и инструментариум

Този модул идва със съвместимо с AOP Alliance аспектно ориентирано програмиране, което улеснява дефинирането на неща като прехващачи на методи. От друга страна, модулът Instrumentation предлага програма за зареждане на класове и поддръжка на инструменти за класове, които да се използват в определени сървъри на приложения.

#4. Мрежа

Модулите Web, Web-Servlet, Web-Struts и Web-Portlet съставляват уеб слоя.

  • Уеб модулът е отговорен за основните функции за уеб-ориентирана интеграция, като функционалност за качване на файлове от много части.
  • Модулът Web-Servlet разполага с внедряването на MVC на Spring за уеб приложения.
  • Модулът Web-Portlet отразява функционалността на модула Web-Servlet. Модулът Web-Portlet предлага реализация на MVC за използване в среда на портлети.
  • Модулът Web-Socket поддържа двупосочна комуникация между сървър и клиент в уеб приложения.

#5. Тест

Модулът Test е последната част от архитектурата на Spring. Това е модулът, който поддържа тестване на Spring компоненти с TestNG или JUnit.

Инсталирайте Spring Framework

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

Преди да научим как работи Spring Framework, трябва да инсталираме Spring на нашия компютър. Пролетната документация съдържа обширни ресурси за това как да започнете в зависимост от вашата операционна система.

За нашия случай ще използваме Ubuntu 20.04.5, Linux базирана операционна система.

Преди да инсталирате Spring, уверете се, че имате инсталирана Java чрез тази команда

java -version

Ако имате инсталирана Java, ще имате изход, подобен на тази екранна снимка.

Ако я нямате на вашия компютър, има няколко подхода за инсталиране на Java въз основа на вашите нужди.

Инсталирайте Spring framework

Има няколко подхода за инсталиране на рамката на Spring, както е подчертано в документите на Spring.

  Автоматично преместете Slack съобщения към други канали с Reacji

За нашия случай ще използваме GVM (Groovy Environment Manager). Можете да получите GVM с помощта на GVMtool или да го инсталирате от командния ред.

След като имате GVM, използвайте следните команди, за да инсталирате и проверите дали Spring framework е инсталиран

gvm install springboot
spring --version

Вероятно ще получите резултат, който изглежда така, ако Spring е инсталиран

Важни термини, свързани с пролетната рамка

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

Инжектирането на зависимости е функция, която позволява на разработчиците да създават независими обекти извън класа. DI също позволява на потребителите да предоставят тези обекти на клас по различни начини.

Инверсия на управлението (IoC)

IoC е концепция, която прехвърля контрола на части от програма или обекти към рамка или контейнер. В традиционното програмиране нашият потребителски код прави повиквания към библиотека. От друга страна, IoC позволява на рамка (в този случай Spring) да прави повиквания към нашия персонализиран код и да контролира потока на програмата.

Аспектно-ориентирано програмиране (AOP)

AOP е техника за изграждане на общи и многократно използвани процедури, които могат да се прилагат в цялото приложение. Такъв подход отделя повторяемите задачи (като валидиране на въвеждане, регистриране и обработка на грешки) от основната логика на приложението.

Ресурси за обучение на Spring Framework

#1. Реактивно програмиране с Spring Framework 5

Този пролетен курс се състои от видеоклипове, статии и ресурси за изтегляне. Курсът учи функционално програмиране с Java, как да микроуслуги с Spring WebFlux и как да използвате реактивни типове в Spring Data MongoDB.

#2. Майсторски клас по пролетна рамка

Spring Framework Master Class е платен курс, който учи истинския начин, по който Java проектите използват Spring Framework. Ще научите как да използвате различни инструменти като Spring Boot, JUnit & Mockito, Spring JDBC, Spring AOP и Hibernate.

#3. Пролетна рамка в лесни стъпки

Spring Framework In Easy Steps е идеален първокласен курс, който да вземете, ако искате да създавате крайни Java EE уеб приложения с помощта на Spring Framework. Някои от нещата, които ще научите, са как да разработвате уеб приложения с помощта на Spring MVC, как да правите Ajax Call с помощта на JQuery и Spring MVC и как да използвате Spring JDBC за извършване на операции с бази данни, за да споменем само няколко.

#4. Spring Framework 5

Курсът Spring Framework 5 е идеален, ако искате да научите Spring Framework 5, Spring Data MongoDB, Spring Boot 2, Spring MVC, Spring Data JPA и Hibernate. Можете да заложите на 57 часа видеоклипове по заявка, 13 статии и много материали за изтегляне.

Бележка на автора

Java остава един от най-популярните езици за програмиране в съвременния свят. Въпреки че се въвеждат нови езици, рамки като Spring внасят нов живот в Java и разширяват нейната полезност. Следователно е вероятно да продължим да имаме търсене на Java инженери, тъй като те са необходими за поддържане на наследения код и също така за създаване на нови приложения.

Заключение

Spring се класира високо сред рамките на Java EE и се надяваме, че вече разбирате какво представлява Spring Framework, нейните характеристики, архитектура и работен процес. Когато се комбинира с други проекти на Spring, Spring Framework предлага на разработчиците различни инструменти за разработка, които могат да се използват в различни среди за разработка.