Forårets rammer

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 5. juli 2019; checks kræver 16 redigeringer .
forårets rammer
Type ansøgningsramme
Udvikler Pivotal software
Skrevet i Java , Kotlin og Groovy
Operativ system Cross-platform software
Første udgave 1. oktober 2002
Hardware platform Java
nyeste version
Stat Aktiv
Licens Apache-licens 2.0
Internet side spring.io
 Mediefiler på Wikimedia Commons

Spring Framework (eller Spring for kort ) er en open source universel ramme for Java -platformen. Der er også en forgrening af .NET Framework kaldet Spring.NET [2] .

Den første version blev skrevet af Rod Johnson , som først udgav den med en udgave af sin bog Expert One-on-One Java EE Design and Development [3] ( Wrox Press , oktober 2002 ).

Rammen blev først udgivet under Apache 2.0-licensen i juni 2003. Den første stabile version 1.0 blev udgivet i marts 2004 . Spring 2.0 blev udgivet i oktober 2006, Spring 2.5 i november 2007, Spring 3.0 i december 2009 og Spring 3.1 i december 2011. Den aktuelle version er 5.3.x.

Selvom Spring ikke leverede nogen specifik programmeringsmodel, er den blevet udbredt i Java-samfundet, hovedsageligt som et alternativ og erstatning for Enterprise JavaBeans -modellen . Foråret giver Java-udviklere mere designfrihed; derudover giver det veldokumenterede og brugervenlige værktøjer til at løse problemer, der opstår ved oprettelse af applikationer i virksomhedsskala.

I mellemtiden er funktionerne i Spring-kernen anvendelige til enhver Java-applikation, og der er mange udvidelser og forbedringer til at bygge webapplikationerJava Enterprise-platformen . Af disse grunde har Spring vundet meget popularitet og er anerkendt af udviklere som en strategisk vigtig ramme.

Introduktion

Spring leverer løsninger på mange af de udfordringer, som Java-udviklere og organisationer står over for, der ønsker at bygge et informationssystem baseret på Java -platformen . På grund af den brede funktionalitet er det vanskeligt at bestemme de væsentligste strukturelle elementer, som den består af. Spring er ikke helt forbundet med Java Enterprise -platformen , på trods af dens omfattende integration med den, hvilket er en vigtig grund til dens popularitet.

Spring er nok bedst kendt som en kilde til udvidelser (funktioner), der er nødvendige for effektivt at udvikle komplekse forretningsapplikationer uden for de tunge programmeringsmodeller, der historisk har domineret industrien. En anden fordel er, at den introducerede tidligere ubrugt funktionalitet i nutidens almindelige udviklingsmetoder, selv uden for Java-platformen.

Denne ramme tilbyder en konsistent model og gør den anvendelig til de fleste typer applikationer, der allerede er bygget på Java-platformen. Spring anses for at implementere en udviklingsmodel baseret på de bedste industristandarder og gøre den tilgængelig i mange områder af Java.

Moduler

Foråret kan opfattes som en samling af mindre rammer eller rammer inden for en ramme. De fleste af disse rammer kan fungere uafhængigt af hinanden, men de giver mere funktionalitet, når de bruges sammen. Disse rammer er opdelt i strukturelle elementer af typiske komplekse applikationer:

Inversion af kontrol

Kernen i Spring er Inversion of Control -beholderen , som giver mulighed for at konfigurere og administrere Java-objekter ved hjælp af refleksion . Beholderen er ansvarlig for at styre et objekts livscyklus: at skabe objekter, kalde initialiseringsmetoder og konfigurere objekter ved at binde dem sammen.

Objekter skabt af en beholder kaldes også administrerede objekter ( bønner ). Beholderkonfiguration udføres normalt ved at indsætte annoteringer (siden J2SE version 5 ), men det er også muligt at "på gammeldags måde" indlæse XML-filer, der indeholder bønnedefinitionen og giver den nødvendige information til at skabe bønnerne.

Objekter kan opnås på en af ​​to måder:

MVC

Spring har sin egen MVC -webapplikationsramme, som ikke oprindeligt var planlagt. Udviklerne af Spring besluttede at skrive det, fordi Apache Struts -rammeværket , såvel som andre web-frameworks, der var tilgængelige på det tidspunkt, havde en mislykket arkitektur. Især var der efter deres mening utilstrækkelig adskillelse mellem præsentations- og forespørgselsbehandlingslaget samt mellem forespørgselsbehandlingslaget og modellen [4] .

DispatcherServlet - klassen er rammens hovedcontroller og er ansvarlig for at uddelegere kontrol til forskellige grænseflader på alle stadier af en HTTP-anmodning. Disse grænseflader bør diskuteres mere detaljeret.

Ligesom Struts er Spring MVC en anmodningsorienteret ramme. Den definerer strategiske grænseflader for alle funktionerne i et moderne forespørgselsbaseret system. Målet med hver grænseflade er at være enkel og overskuelig, så det er nemt for brugerne at genimplementere det, hvis de ønsker det. MVC baner vejen for renere front-end-kode. Alle grænseflader er tæt relateret til Servlet API . Denne forbindelse ses af nogle som en fejl hos Spring-udviklerne i at levere en abstraktion på højere niveau til webapplikationer. Dette link efterlader imidlertid Servlet API-funktionerne tilgængelige for udviklere, mens det stadig gør det nemmere at arbejde med. De vigtigste grænseflader defineret af Spring MVC er anført nedenfor:

Spring MVC giver udvikleren følgende funktioner:

Webapplikationer kan bruge forskellige dele af Spring, ikke kun Spring MVC.

Dataadgang

Spring afslører sit databaseadgangslag gennem JDBC . Derudover understøtter den alle populære ORM'er : Hibernate , JPA , JDO , EclipseLink , iBatis , Apache OJB , Apache Cayenne osv.

For alle disse rammer giver Spring følgende funktioner:

Transaktionsstyring

Transaktionsstyringsrammen i Spring bringer en abstraktionsmekanisme til Java-platformen. Hovedtræk ved disse abstraktioner er:

"Kontrakt før konfiguration" i applikationsudvikling

Spring Roo  er en "aftale før konfiguration"-ramme til hurtigt at bygge forretningsapplikationer.

Kan bruges med:

Integration

Spring Integration  er en ramme for JEE , der giver den nødvendige funktionalitet til at sende beskeder eller til at bygge en begivenhedsdrevet arkitektur...

Spring Hadoop

Den 29. februar 2012 udgav VMware Spring-integrationen med Apache Hadoop-produktet. Den nye Spring Hadoop-ramme [5] kombinerer mulighederne i Spring Framework med mulighederne i Hadoop , hvilket giver udviklere mulighed for at bygge applikationer, der skalerer fra en enkelt server til tusindvis og giver høj tilgængelighed gennem software frem for hardware. Ved at integrere det Java -baserede Hadoop Framework, en open source platform til distribueret behandling af store datasæt i klynger af computere ved hjælp af en simpel programmeringsmodel, med Spring Java/JEE applikationsudviklingsramme, har VMware skabt et projekt, der fuldt ud falder ind under "paraply" af Spring Data [6] [7] .

Blandt funktionerne i den nye ramme:

Se også

Noter

  1. https://github.com/spring-projects/spring-framework/releases/tag/v5.3.23
  2. Spring.NET Application Framework . Dato for adgang: 19. maj 2010. Arkiveret fra originalen 2. april 2006.
  3. Expert One-on-One J2EE Design and Development Arkiveret 7. maj 2012 på Wayback Machine 
  4. Johnson, Expert One-on-One J2EE Design and Development, Ch. 12 et al.
  5. Spring Hadoop . Hentet 24. september 2013. Arkiveret fra originalen 28. september 2013.
  6. Forårsdata . Hentet 24. september 2013. Arkiveret fra originalen 27. september 2013.
  7. 1 2 Spring Hadoop: En ny ramme for Java-udviklere under Spring Data-paraplyen Arkiveret 27. september 2013. . High Load Web Arkiveret 4. april 2012 på Wayback Machine .

Litteratur

Links