Какво представлява Spring Framework? - Път към ефективно развитие



Този блог за това, което е Spring Framework, говори за широко използваната Java Framework - Spring. Той също така казва защо и как да използвате Spring Framework с примери.

В днешния забързан свят имаме нужда всичко да бъде бързо. Не искаме да се ангажираме с една работа твърде дълго, нека бъде нещо като пътуване, пазаруване, учене или работа. Що се отнася до кодирането, ние искаме нашите приложения да бъдат разработени в най-краткия период от време, но да осигуряват пълна ефективност. Може да бързаме, но все пак не можем нито да правим компромиси с качеството си, нито искаме да положим твърде много усилия за това. И така, какво е решението? Рамките работят най-добре в тази ситуация. На пазара се предлагат различни рамки, сред които се използват малко като Spring, Hibernate, Struts и т.н. Чрез този блог нека разберем какво е Spring Framework и защо е толкова популярен на пазара!

Преди да започнем, нека да разгледаме темите, които ще обсъждам в този блог:





Java Frameworks

Защо трябва да отидем за Frameworks?Нека даразберете го с нашия приятел, Коди .

Коди в проблем - Какво е Spring Framework - Edureka!



Коди получава задача да разработи приложение, но определеното време не е достатъчно, за да го завърши. Той трябва да напише много редове код (LOC) сам. Това отнема много време и е уморително. Той е объркан какво трябва да направи! Откъде трябва да започне!

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



Изведнъж идеята за използване на Frameworks го поразява. Рамките са бързи, ефективни и леки. Те са големи тела с предварително дефинирани кодове, които лесно можем да добавим към собствения си код, за да решим конкретен проблем.

Той кодира с помощта на Framework. Изненадващо кодът лесно се монтира с рамката.

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

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

И така, нека започнем с Java Frameworks.

Как Java Frameworks влезе в съществуване?

В края на 90-те години приложенията са широко разработени, като се използват стандартите JEE. Предпоставката на J2EE беше мултиплатформена / мулти-доставчик, ако можете да кодирате в съответствие със стандартите J2EE, можете да разположите приложението си на всеки сървър за приложения J2EE, независимо от платформата. Пускането на вашия код на всеки сървър на приложения ви предоставя много предимства като - управление на транзакции, съобщения, изпращане на поща, интерфейс на директории и т.н. Но тъй като нищо не е лесно на този свят, работата с J2EE също имаше някои трудности.

  • МногоКомплекс : Предприятието Java Bean е разработено за намаляване на сложността в приложенията на J2EE. Но не успя да постигне целта си в изпълнението. Причината зад нея е, че докато пишете компонент, е необходимо да напишете набор от XML файлове, домашни интерфейси, отдалечени / локални интерфейси и т.н.
  • Проблем „търсене“: Когато компонентът зависи от друг компонент, той трябва да търси компонентите, от които зависи сам. Този „поглед“ на компонента се случва само по име, така че името на зависимостта е трудно кодирано в компонента.
  • Тежко тегло: КатоПоддържат се всички функции като клъстериране, отдалечаване и т.н., трябва да ги конфигурирате, независимо от факта, че имате нужда от тях или не. Това ще направи вашите приложения раздути.

Така възниква Java Frameworks. Java Frameworks не са нищо друго освен големи тела с предварително дефиниран код, които можете да приложите към вашия собствен код, за да разрешите проблема си в определен домейн. Можете да използвате рамка, като извикате нейните методи, наследяване, като предоставите „обратно извикване“, слушатели или други реализации на Наблюдател модел.

Нека го разберем чрез изобразително представяне:

Но как точно те намаляват нашата работа и правят нашите кодове ефективни? За да го разберете, преминете през следното предимстваинедостатъциот тези рамки. Нека започнем с предимства .

Ефективност:

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

Сигурност:

Широко използваната рамка обикновено има големисигурностприложения. Голямата полза екварталзад тази рамка, където потребителите обикновено се оказват дълготрайни тестери. Ако откриете уязвимост или дупка в сигурността, можете да отидете на уеб сайта на рамката и да ги уведомите, за да може да бъде поправен.

Разходи:

Повечето популярни структури са безплатни и така помага на разработчика да кодира по-бързо. Ако кодирането се извършва по-бързо, разходите за крайния клиент със сигурност ще бъдат по-малки във всеки аспект, било то време или усилия. Освен това разходите за поддръжка също са ниски.

Поддържа:

Както всеки друг разпространен инструмент, рамката обикновено включва документи, група за поддръжка или онлайн форуми с големи общности, където можете да получите бързи отговори.

Въпреки че имат всички тези предимства, Java Frameworks имат някои недостатъци , като:


Ограничения:

Основното поведение на рамката не може да бъде променено, което показва, че когато използвате рамка, от вас се изисква да спазвате нейните ограничения и да работите по начина, по който се изисква. По този начин трябва да сте сигурни, че сте избрали рамка, която отговаря на вашите нужди.

Кодът е публичен:

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

Персонализиран Характеристика:

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

Сегачезнаете предимствата и недостатъцитена рамките,изберете вашата рамка според вашите нужди. На пазара се предлагат различни видове рамки. По-долу диаграмата показва няколко от тях:

И така, в този блог ще се спрем на Spring Framework.

Какво представлява Spring Framework?

Тук възниква въпросът „Какво представлява пролетната рамка“?

Spring Framework е мощна лека рамка за разработка на приложения, използвана за Enterprise Java (JEE).

Основните характеристики на Spring Framework могат да се използват при разработването на всяко приложение на Java.Може да се опише катоцялостна и модулна рамка. Spring Framework може да се използва за всички реализации на слоеве на приложение в реално време. Може да се използва и за разработването на определен слой от приложение в реално време за разлика от Struts и Hibernate, но с Spring можем да разработим всички слоеве.

Тук ставаше дума за това какво е Spring Framework, но как беше разработена? Е, зад него има интересна история. Нека да разгледаме историята и произхода на Spring Framework.

През октомври 2002 г. Род Джонсън , австралийски компютърен специалист, написа книга, озаглавена Expert One-on-One J2EE Design and Development. В тази книга той предложи по-просто решение, базирано на обикновени Java класове (POJO) и инжектиране на зависимости. Той е написал над 30 000 реда инфраструктурен код, който включва редица java интерфейси за многократна употреба и класове за разработване на приложението. Около февруари 2003 г. Род, Юрген и Ян започнаха да си сътрудничат по проекта „Пролет“. Името „Пролет“ е дадено, тъй като означава ново начало след „Зима“ на традиционния J2EE.

Следва графикът, показан за основните издания в историята на пролетта:

Той е наречен Interface 21, като препратка към 21-ви век и е издаден под лиценз Apache 2.0.
Това беше първото важно издание. Пролетната рамка бързо се разви от това издание. Interface21 поддържа AspectJ паралелно с Spring Framework.
Добавени бяха нови функции - разширяеми XML конфигурации, поддръжка за Java 5 и динамични езици, IoC точки за разширение и подобрения на AOP.
Добавени бяха нови функции - поддръжка на Java 6 / JEE5, конфигурации на анотации, автоматично откриване на компоненти в classpath и пакети, съвместими с OSGi.
Добавени бяха нови функции - поддръжка за реорганизирана модулна система, SpEL, JavaConfig, вградени бази данни, поддръжка на REST и поддръжка за Java EE 6.
Пуснат е проектът Spring Data Commons. По-късно през 2012 г. Род Джонсън напусна екипа на Spring.
Всички пролетни проекти се преместиха в Pivotal. Добавени бяха нови функции - пълна поддръжка за Java 8, уебсайтове, по-високи зависимости на библиотеката на трети страни, груб DSL за дефиниции на боб.
Той беше съвместим с Java 6, 7 и 8, с фокус върху основните усъвършенствания и съвременните уеб възможности.
Това ще бъде последното поколениев рамките на общите системни изисквания Spring 4. 4.3.8 е текущата версия.

Защо Spring Framework?

По-долу е дадена диаграма, която показва сравнението между Spring и различни други рамки.

По-долу има графика, базирана на проучване,от май 2016 г. Както можете да видите от графиката, че Spring Framework е много популярен в своя домейн и продължава да държи позицията си на tна от 2014г.

Причини за Spring Frameпопулярност на произведенията

Обикновено има три основни причини за популярността на Spring Framework.

  1. Простота
  2. Заверимост
  3. Разхлабено съединение

Нека обсъдим тези теми в детайли.

Простота: Spring Framework е прост, защото неинвазивен, тъй като използва POJO и POJI модели.

  • POJO (обикновени стари Java обекти): AИзвиква се клас Java, който не е свързан с технология или рамка ' POJO ' .
  • POJI (Plain Old Java Interfaces): Извиква се Java интерфейс, който не е съчетан с никаква технология или някаква рамкова работа ' POJI ' .

Заверимост : За писането на Sбамбукприложение, сървърът не е задължителен. Но за Struts и EJB приложения, имате нужда от сървър, ако искате да тествате приложението. Може да се наложи много промени в източника и за да ги видите, всеки път, когато трябва да рестартирате сървъра. Това става досадно и отнема много време. В случай наSpring Framework, той има собствен контейнер за стартиране на приложениетокатиони.

Разхлабено съединение: Spring Framework е слабо свързан, тъй като има концепции като Dependency Injection, AOP и др. Тези функции помагат за намаляване на зависимостта и увеличаване на модулността в кода. Нека разберем това с пример.

Тук имам интерфейс Bike, който има метод start (). Освен това се изпълнява от три класа, а именно: Yamaha, Honda и Bajaj.

публичен интерфейс Bike {публичен празен старт ()}

Тук клас Rider създава обект от всеки клас, който реализира Bike интерфейса.

class Rider {Bike b public void setBike (Bike b) {this.b = b} void ride () {b.start ()}}

Сега контейнерът Spring Framework може да инжектира обект от всеки клас, който реализира Bike интерфейс, в съответствие с изискването. Ето как работи разхлабеното съединение.

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

Както можете да видите от горната диаграма, Spring има слоеста архитектура, състояща се от различни модули, които имат своя собствена функционалност. Тези модули са обобщени в следните слоеве:

  • Основен контейнер
  • Достъп / интеграция на данни
  • Уеб
  • AOP (Аспектно ориентирано програмиране)
  • Инструментариум
  • Тест.

Може би се чудите, какво е предимството на Spring Framework от наличието на слоеста архитектура? Нека разберем чрез следните точки:

  • Spring Framework ефективно организира вашите обекти от средно ниво.
  • Независимо от средата на изпълнение, услугите за управление на конфигурацията на Spring Framework могат да се използват във всеки архитектурен слой.
  • Spring Framework обработва конфигурацията по последователен начин в цялото приложение. Това елиминира необходимостта от използване на разнообразни файлови формати с персонализирани свойства.
  • Spring Framework е проектиран по такъв начин, че приложенията, изградени с него, да зависят от възможно най-малко негови API.
  • Заради използването на интерфейси,Spring Framework улеснява добрата практика на програмиране.

За да разберем напълно какво е Spring Framework, нека видим едно просто приложение Spring Framework. Следвайте петте прости стъпки:

Стъпка I: Създаване на клас Bean

пакет org.edureka.firstSpring публичен клас StudentBean {Име на низа public String getName () {return name} public void setName (String name) {this.name = name} public void displayInfo () {System.out.println ('Здравейте: '+ име)}}

Стъпка II: Създайте XML файл

 

Стъпка III: Създайте основния клас

пакет org.edureka.firstSpring импорт org.springframework.context.ApplicationContext импорт org.springframework.context.support.ClassPathXmlApplicationContext публичен клас StudentDemo {public static void main (String [] args) {ApplicationContext StudentCon = NewPPPCG ) StudentBean factory = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

Стъпка IV: Заредете файловете на jar

Заредете следните файлове с jar.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • пролетен боб-4.2.2.ОПУСКАНЕ.jar
  • spring-context-4.2.2.RELEASE.jar
  • spring-core-4.2.2.RELEASE.jar
  • spring-expression-4.2.2.RELEASE.jar
  • spring-web-4.2.2.RELEASE.jar
  • spring-webmvc-4.2.2.RELEASE.jar

ЗАБЕЛЕЖКА: В случай, че имате нужда от Jar файловете, коментирайте по-долу.

Стъпка V: Стартирайте програмата

Стартирайте програмата на вашия сървър, за да тествате приложението.

Надявам се, че успях да обясня ясно какво представлява Spring Framework, как точно работи и за какво се използва. Позовавате се и на видеото на тема „Какво е пролетна рамка“, където инструкторът описва темите, обсъдени в този блог, заедно с практическа демонстрация.

Какво представлява Spring Framework в Java | Урок за пролетна рамка | Едурека

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

Ако искате да научите Spring и искате да го използвате, докато разработвате Java приложения, проверете от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят.

mysql урок за начинаещи с примери

Имате въпрос към нас? Моля, споменете го в раздела за коментари и ние ще се свържем с вас.