Mis on kevadine raamistik? - tee tõhusa arenguni

See ajaveebi kohta, mis on kevadraamistik, räägib laialt kasutatavast Java raamistikust - kevad. Samuti selgitatakse näidete abil, miks ja kuidas kevadraamistikku kasutada.

Tänapäeva kiires maailmas on meil vaja kõike kiiret. Me ei taha end liiga kaua ühe töö juures hoida, olgu see siis reisimine, ostlemine, õppimine või töötamine. Kodeerimise osas soovime, et meie rakendused töötataks välja võimalikult lühikese aja jooksul, kuid tagaksid täieliku tõhususe. Meil võib olla kiire, kuid siiski ei saa me oma kvaliteedis kompromisse teha ega taha sellega liiga palju pingutada. Mis on lahendus? Raamid töötavad selles olukorras kõige paremini. Turul on saadaval mitmesuguseid raamistikke, mida kasutatakse vähe: kevad, talveunerežiim, tuged jne. Selle ajaveebi kaudu saate teada, mis on Spring Framework ja miks see turul nii populaarne on!



Enne alustamist heidame pilgu teemadele, mida siin blogis arutan:

Java raamistikud

Miks peaksime minema raamistikule?Lähmemõista seda koos meie sõbraga, Coddy .

Coddy probleemis - mis on Spring Framework - Edureka!



Coddy antakse ülesanne arendada rakendus, kuid määratud aeg ei ole selle lõpuleviimiseks piisav. Ta peab ise kirjutama palju koodiridu (LOC). See on väga aeganõudev ja väsitav. Ta on segaduses, mida ta peaks tegema! Kust ta peaks alustama!

Coddy hakkab mõtlema oma probleemi lahendusele. Ta vajab midagi, mis on kiire ja tõhus, säästaks aega ja vaeva, näiteks midagi, mis on valminud.



Järsku tabab teda mõte kasutada raamistikke. Raamid on kiired, tõhusad ja kerged. Need on suured etteantud koodide kogumid, mida saame konkreetse probleemi lahendamiseks hõlpsasti oma koodile lisada.

Ta kodeerib raamistiku abil. Üllataval kombel on kood raamistikuga hõlpsasti varustatud.

Coddy saab nüüd kiiremini kodeerida ja oma rakenduse etteantud aja jooksul täita. Pealegi on ta vaba tuhandete mittetoimivate koodide ridade kirjutamisest.

Pärast raamistiku abil välja töötatud rakenduse juurutamist leidis ta, et see toimis palju suurema kiirusega ja selle läbilaskevõime suurenes ka võrreldes teiste rakendustega, mis töötati välja raamistikku kasutamata.

Alustame nüüd Java raamistikuga.

Kuidas Java raamistikud eksisteerisid?

1990. aastate lõpus töötati rakendusi laialdaselt välja JEE standardite abil. J2EE eeldus oli mitmeplatvormiline / mitme pakkujaga. Kui saate kodeerida vastavalt J2EE standarditele, võite oma rakenduse juurutada mis tahes J2EE rakendusserverisse, olenemata platvormist. Koodi käitamine mis tahes rakendusserveris annab teile palju eeliseid, näiteks tehingute haldamine, sõnumside, postitamine, kataloogiliides jne. Kuid kuna selles maailmas pole midagi lihtsat, oli J2EE-ga töötamisel ka mõningaid raskusi.

  • VägaKompleksne : Enterprise Java Bean töötati välja J2EE-rakenduste keerukuse vähendamiseks. Kuid selle eesmärk rakendamisel ei õnnestunud. Selle taga on see, et komponendi kirjutamise ajal on vaja kirjutada XML-failide komplekt, koduliidesed, kaug- / kohalikud liidesed jne.
  • Otsingu probleem: Alati, kui komponent sõltus teisest komponendist, pidi ta otsima komponente, millest ta ise sõltus. See komponent 'otsimine' toimub ainult nime järgi, seega sõltuvuse nimi oli komponendis kõvasti kodeeritud.
  • Raske kaal: NaguToetati selliseid funktsioone nagu klastrite loomine, kaughaldamine jms, peate need konfigureerima, hoolimata sellest, kas neid vajate või mitte. See muudab teie rakendused paisutatud.

Nii tekkis Java Frameworks. Java raamistikud pole midagi muud kui suured etteantud koodikehad, mida saate oma koodile rakendada, et probleem lahendada konkreetses domeenis. Raamistikku saate kasutada, helistades selle meetoditele, pärimisele, pakkudes tagasihelistusi, kuulajaid või muid rakenduse rakendusi. Vaatleja muster.

Saame sellest aru piltliku esituse kaudu:

Kuid kuidas täpselt need vähendavad meie tööd ja muudavad meie koodid tõhusaks? Selle mõistmiseks läbige järgmine eelisedjapuudusednendest raamistikest. Alustame eelised .

Tõhusus:

Ülesandeid, mille koostamiseks kulub üldiselt tunde ja sadu koodiridu, saab nüüd eelnevalt ehitatud funktsioonidega teha mõne minutiga. Areng muutub palju lihtsamaks, nii et kui see on palju lihtsam, siis palju kiirem ja seejärel tõhusam.

Turvalisus:

Laialdaselt kasutataval raamistikul on üldiselt suurturvalisusrakendused. Suur kasu onnaabruskondselle raamistiku taga, kus kasutajad on tavaliselt pikaajalised testijad. Kui leiate mõne haavatavuse või turvaaugu, võite minna raamistiku veebisaidile ja anda neile sellest teada, et see saaks lahendatud.

Kulu:

Enamik populaarseid struktuure on tasuta ja seega aitab see arendajal kiiremini kodeerida. Kui kodeerimine toimub kiiremini, on lõpliku kliendi kulud kindlasti väiksemad igas aspektis, olgu selleks aeg või vaev. Pealegi on hoolduskulud samuti madalad.

Toetus:

Nagu iga teine ​​hajutatud tööriist, sisaldab raamistik üldjuhul dokumente, tugigruppi või suurte kogukondade veebifoorumeid, kust saate kiireid vastuseid.

juhuslik klass java näites

Hoolimata kõigist neist eelistest, on Java raamistikel mõned olemas puudused , näiteks:


Piirangud:

Raamistiku põhikäitumist ei saa muuta, mis näitab, et raamistiku kasutamisel peate austama selle piiranguid ja töötama nii, nagu see on vajalik. Seega peate tagama, et valite oma vajadustele vastava raamistiku.

Kood on avalik:

Kuna raamistik on kõigile hõlpsasti kättesaadav, stt pakutakse ka halbade kavatsustega inimestele. Seda saab uurida, et teada saada, kuidas asjad toimivad, ja avastada vigu, mida saab teie vastu kasutada.

Kohandatud Funktsioonid:

Raamistiku kasutamisel teate selle taga oleva keele kohta väga vähe, kuna selle funktsioonid on kohandatud.Kui kasutate kohandatud ehitatud funktsioone, peate tõenäoliselt neid kasutama vastavalt raamistiku standarditele, mis võivad algsest kontseptsioonist erineda.

Nüüdsedateate eeliseid ja puudusiraamistikevali oma raamistik vastavalt oma vajadustele. Turul on saadaval mitmesuguseid raamistikke. Alloleval diagrammil on toodud mõned neist:

Niisiis keskendume selles blogis Spring Frameworkile.

Mis on kevadine raamistik?

Siin tekib küsimus „Mis on kevadine raamistik”?

Spring Framework on võimas kerge rakenduste arendamise raamistik, mida kasutatakse Enterprise Java (JEE) jaoks.

Spring Framework'i põhifunktsioone saab kasutada mis tahes Java-rakenduse arendamisel.Seda võib kirjeldada kuitäielik ja modulaarne raamistik. Kevadraamistikku saab kasutada reaalajas rakenduse kõigi kihtide juurutamiseks. Erinevalt Strutsist ja Hibernate'ist saab seda kasutada ka reaalajas rakenduse konkreetse kihi väljatöötamiseks, kuid Springiga saame arendada kõiki kihte.

See puudutas kevadraamistikku, kuid kuidas seda arendati? Noh, selle taga on huvitav ajalugu. Vaatame Spring Framework'i ajalugu ja päritolu.

2002. aasta oktoobris Rod Johnson , Austraalia arvutispetsialist, kirjutas raamatu Ekspert Üks-ühele J2EE disain ja arendus. Selles raamatus pakkus ta välja lihtsama lahenduse, mis põhineb Java-klassidel (POJO) ja sõltuvuse süstimisel. Ta kirjutas üle 30 000 rea infrastruktuurikoodi, mis sisaldas rakenduse arendamiseks mitmeid taaskasutatavaid Java-liideseid ja klasse. 2003. aasta veebruari paiku alustasid Rod, Juergen ja Yann koostööd kevade projektiga. Nimi “Kevad” anti, kuna see tähendas uut algust traditsioonilise J2EE talve järel.

Järgmine on ajakava, mida näidatakse kevade ajaloo peamiste väljalasete kohta:

saada massiivi pikkus javascript
Selle nimeks sai Interface 21, viidates 21. sajandile ja see anti välja Apache 2.0 litsentsi alusel.
See oli esimene verstapostiväljaanne. Kevadine raamistik arenes pärast selle väljaandmist kiiresti. Interface21 toetas AspectJ-d paralleelselt Spring Frameworkiga.
Lisati uusi funktsioone - laiendatavad XML-konfiguratsioonid, Java 5 ja dünaamiliste keelte tugi, IoC laienduspunktid ja AOP-i täiustused.
Lisati uusi funktsioone - Java 6 / JEE5 tugi, märkuste seadistused, komponentide automaatne tuvastamine klassirajal ja OSGi-ga ühilduvad kimbud.
Lisati uusi funktsioone - ümberkorraldatud moodulite süsteemi tugi, SpEL, JavaConfig, manustatud andmebaasid, REST tugi ja Java EE 6 tugi.
Kevadine Data Commonsi projekt vabastati. Hiljem 2012. aastal lahkus Rod Johnson Springsi meeskonnast.
Kõik kevadised projektid nihkusid Pivotalile. Lisati uusi funktsioone - Java 8 täielik tugi, veebipesad, kõrgemate kolmandate osapoolte raamatukogusõltuvused, oa-määratluste jaoks tugev DSL.
See ühildus Java 6, 7 ja 8-ga, keskendudes põhilistele täiustustele ja kaasaegsetele veebivõimalustele.
Sellest saab viimane põlvkond4. kevadise süsteemi üldnõuete piires. 4.3.8 on praegune versioon.

Miks just kevadraamistik?

Allpool on toodud diagramm, mis näitab kevade ja paljude teiste raamistike võrdlust.

Allpool on graafik, mis põhineb uuringul,alates maist 2016. Nagu graafikult näha, on Spring Framework oma valdkonnas väga populaarne ja on jätkuvalt oma positsioonialates 2014. aastast.

Kevadraami põhjusedteoste populaarsus

Spring Framework'i populaarsusel on üldjuhul kolm peamist põhjust.

  1. Lihtsus
  2. Testablity
  3. Lahtine sidumine

Arutame neid teemasid üksikasjalikult.

Lihtsus: Spring Framework on lihtne, kuna see on mitteinvasiivne, kuna see kasutab POJO ja POJI mudeleid.

  • POJO (tavalised vanad Java-objektid): ANimetatakse Java-klassi, mis pole ühendatud ühegi tehnoloogia ega raamistikuga ' POJO ' .
  • POJI (tavalised vanad Java-liidesed): kutsutakse Java-liidest, mis pole ühendatud ühegi tehnoloogia ega raamistikuga ' POJI ' .

Testablity : S kirjutamiseksbambusrakendus pole server kohustuslik. Kuid tugiteenuste ja EJB-rakenduste jaoks vajate serverit, kui soovite rakendust testida. Allikas võib vaja minna palju muudatusi ja nende muudatuste vaatamiseks peate iga kord serveri taaskäivitama. See muutub tüütuks ja aeganõudvaks. Juhul kuiSpring Frameworkil on rakenduse käitamiseks oma konteinerkatioonid.

Lahtine ühendamine: Spring Framework on lõdvalt ühendatud, kuna sellel on sellised mõisted nagu sõltuvuse süstimine, AOP jne. Need funktsioonid aitavad vähendada sõltuvust ja suurendada koodisisest modulaarsust. Anname sellest näite abil aru.

Siin on mul jalgratta liides, millel on meetod start (). Seda rakendavad edasi kolm klassi, nimelt: Yamaha, Honda ja Bajaj.

avalik liides Bike {public void start ()}

Siin loob klassi Rider mis tahes klassi objekti, mis rakendab Bike'i liidest.

klassi sõitja {Bike b public void setBike (Bike b) {this.b = b} void ride () {b.start ()}}

Nüüd saab Spring Framework konteiner vastavalt nõudele süstida mis tahes klassi objekti, mis rakendab jalgratta liidest. Nii töötab lahtiühendus.

Kevadine raamistikuarhitektuur

Nagu ülaltoodud diagrammilt näha, on Springil kihiline arhitektuur, mis koosneb erinevatest moodulitest, millel on oma funktsionaalsus. Need moodulid on üldistatud järgmisteks kihtideks:

  • Põhikonteiner
  • Andmetele juurdepääs / integreerimine
  • võrk
  • AOP (kuvasuunaline programmeerimine)
  • Instrumenteerimine
  • Test.

Võite mõelda, mis on Spring Frameworki eelis kihilise arhitektuuri omamisel? Uurime järgmiste punktide kaudu:

  • Spring Framework korraldab teie keskmise taseme objektid tõhusalt.
  • Sõltumata käituskeskkonnast saab Spring Framework'i konfiguratsioonihaldusteenuseid kasutada mis tahes arhitektuurses kihis.
  • Spring Framework haldab konfiguratsiooni kogu rakenduses järjepidevalt. See välistab vajaduse kasutada mitmesuguseid kohandatud atribuutide failivorminguid.
  • Spring Framework on loodud nii, et sellega loodud rakendused sõltuvad võimalikult vähestest selle API-dest.
  • Liideste kasutamise tõttu,Kevadine raamistik hõlbustab head programmeerimistavasid.

Kevadraamistiku täielikuks mõistmiseks vaatame ühte lihtsat kevadraamistiku rakendust. Järgige viit lihtsat sammu:

I samm: Bean-klassi loomine

pakett org.edureka.firstSpring avalik klass StudentBean {String name public String getName () {return name} public void setName (String name) {this.name = name} public void displayInfo () {System.out.println ('Tere: '+ nimi)}}

II samm: looge XML-fail

 

III samm: looge põhiklass

pakett org.edureka.firstSpring import org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext public class StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassPathXml ) StudentBean factory = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

IV samm: laadige purgifailid

Laadige järgmised purkfailid.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.VABASTUS.jar
  • kevad-oad-4.2.2.VABASTUS.jar
  • kevad-kontekst-4.2.2.VABASTUS.jar
  • spring-core-4.2.2.VABASTUS.jar
  • kevadavaldis-4.2.2.VABASTUS.jar
  • kevad-veeb-4.2.2.VABASTUS.jar
  • kevad-webmvc-4.2.2.VABASTUS.jar

MÄRGE: Kui vajate purgifaile, kommenteerige allpool.

V samm: käivitage programm

Rakenduse testimiseks käivitage programm oma serveris.

Loodetavasti suutsin selgitada selgelt, mis on Spring Framework, kuidas see täpselt töötab ja milleks seda kasutatakse. Viidate ka videole teemal “Mis on kevadine raamistik”, kus juhendaja kirjeldab siin blogis käsitletud teemasid koos praktilise tutvustusega.

Mis on Java kevadine raamistik | Kevadraamistiku õpetus | Edureka

Kui olete huvitatud kevadraamistiku kohta lisateabe saamisest, siis olge kursis selle oma blogisarjaga, sest ma mõtlen välja järgmise ajaveebi mis räägib kevadel täpsematest kontseptsioonidest.

Kui soovite Springit õppida ja soovite seda Java-rakenduste arendamise ajal kasutada, vaadake järgmist Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma.

Kas teil on meile küsimus? Palun mainige seda kommentaaride jaotises ja võtame teiega ühendust.