close

SpringFramework

Gå til navigasjon Gå til søk
SpringFramework
Spring Framework Logo 2018.svg
Generell informasjon
programtype rammeverk for nettmobilapplikasjoner
utvikler SpringSource
Første utgivelse 1. oktober 2002
Tillatelse Apache-lisens 2.0
Faktisk tilstand Aktiv
Teknisk informasjon
Planlagt inn
Støttede plattformer java virtuell maskin
Versjoner
Siste stabile versjon 5.1.6 (1. april 2019 (3 år, 6 måneder og 16 dager) [ 1 ] )
Lenker

Spring er en åpen kildekode -inversjon av kontrollbeholder og applikasjonsutviklingsrammeverk for Java- plattformen . [ 2 ]

Den første versjonen ble skrevet av Rod Johnson, som ga den ut sammen med utgivelsen av boken Expert One-on-One J2EE Design and Development (Wrox Press, oktober 2002). Rammeverket ble opprinnelig utgitt under Apache 2.0-lisensen i juni 2003. Den første store utgivelsen var versjon 1.0, som dukket opp i mars 2004 og ble fulgt av ytterligere milepæler i september 2004 og mars 2005. Versjon 1.2.6 Spring Framework vant Jolt Awards og Jax Innovation Awards i 2006. [ 3 ]​ [ 4 ]​ Spring Framework 2.0 ble utgitt i 2006, versjon 2.5 i november 2007, Spring 3.0 i desember 2009 og Spring 3.1 to år senere. [ 5 ] Starten av utviklingen av versjon 4.0 ble annonsert i januar 2013. [ 6 ] Den nåværende versjonen er 5.1.6. [ 1 ]

Selv om de grunnleggende funksjonene til Spring Framework kan brukes i alle applikasjoner utviklet i Java, finnes det flere utvidelser for å bygge nettapplikasjoner på Java EE -plattformen . Selv om det ikke pålegger noen spesiell programmeringsmodell, har dette rammeverket blitt populært i samfunnet ettersom det regnes som et komplement til EJB ( Enterprise JavaBean )-modellen.

Historie

De første komponentene i det som har blitt Spring Framework ble skrevet av Rod Johnson i 2000, mens han jobbet som uavhengig konsulent for sine kunder i finansbransjen i London. Mens han skrev boken Expert One-on-one J2EE Design And Development (programmerer til programmerer) , utvidet Rod koden sin for å innkapsle hans visjon om hvordan applikasjoner som arbeider med ulike deler av J2EE -plattformen kan bli enklere og mer effektive. konsistente enn disse utviklerne og selskaper brukte den gang.

I 2001 ble de dominerende programmeringsmodellene for nettbaserte applikasjoner tilbudt av Java Servlet API og Enterprise JavaBeans , begge spesifikasjoner laget av Sun Microsystems i samarbeid med andre leverandører og interessenter som nøt stor popularitet i Java-fellesskapet. Applikasjoner som ikke var nettbaserte, for eksempel klientbaserte applikasjoner eller batchapplikasjoner , kan skrives basert på åpen kildekode eller kommersielle verktøy og prosjekter som ga funksjonene som kreves for disse utviklingene.

Til slutt, etter å ha publisert boken sin i 2002, presenterte Rod Johnson for første gang sin kode for Java Interface 21-rammeverket som skulle bli grunnlaget for vårrammeverket [ 7 ] . Et lite team av utviklere ble dannet i håp om å jobbe med å utvide rammeverket , og et prosjekt ble opprettet på Sourceforge i februar 2003. Etter å ha jobbet med utviklingen i over ett år, ga de ut en første versjon (versjon 1.0) i mars 2004. Etter denne utgivelsen , Spring fikk mye popularitet i Java-samfunnet, delvis på grunn av bruken av Javadoc og over gjennomsnittet referansedokumentasjon for et åpen kildekode-prosjekt.

Vårrammeverket ble imidlertid også sterkt kritisert i 2004 og er fortsatt gjenstand for heftig debatt. På tidspunktet for den første store utgivelsen så mange utviklere og tankeledere Spring som et stort steg opp fra den tradisjonelle programmeringsmodellen; dette gjaldt spesielt Enterprise JavaBeans. Et av designmålene til Spring Framework er dets enkle integrasjon med eksisterende J2EE-standarder og kommersielle verktøy. Dette fjerner delvis behovet for å definere dens egenskaper i et spesifikasjonsdokument utarbeidet av en offisiell komité og som kan kritiseres.

Spring Framework gjorde at teknikker som var ukjente for de fleste programmerere ble populære på svært kort tid. Det mest bemerkelsesverdige eksemplet er inversjon av kontroll . I 2004 nøt Spring ekstremt høye adopsjonsrater, og ved å tilby sitt eget aspektorienterte programmeringsrammeverk ( AOP ) gjorde det sitt programmeringsparadigme mer populært i Java-samfunnet. [ referanse nødvendig ]

I 2005 overgikk våren forrige års adopsjonsrater som et resultat av nye utgivelser og flere funksjoner som ble lagt til. Fellesskapsforumet som ble dannet rundt Spring Framework (The Spring Forum) som startet i slutten av 2004 bidro også til å øke populariteten til rammeverket og har siden vokst til å bli den viktigste kilden til informasjon og hjelp for brukerne.

Moduler

Spring Framework består av flere moduler som tilbyr en rekke tjenester:

Inversjon av kontrollbeholder

Hjertet i Spring Framework er dens inversjon av kontroll (IoC) container. Jobben er å instansiere, initialisere og koble sammen applikasjonsobjekter, samt gi en rekke tilleggsfunksjoner tilgjengelig på våren gjennom objektets levetid. [ 8 ]

Objektene som er opprettet og administrert av beholderen kalles administrerte objekter eller bønner . Disse objektene er av typen POJO . For å utføre oppgaven sin trenger beholderen informasjon som indikerer hvordan bønnene skal instansieres og kobles til hverandre . Denne informasjonen kalles konfigurasjonsmetadata. Det er forskjellige måter å gi denne informasjonen på: XML-basert, merknadsbasert eller Java-objektbasert (siden Spring 3.0). Beholderen er uavhengig av konfigurasjonsmetadataformatet. Brukeren kan bruke hvilket som helst format de vil og til og med blande dem i samme applikasjon. [ 8 ]

Objekter kan oppnås ved avhengighetsoppslag eller ved avhengighetsinjeksjon . [ 9 ] avhengighetsoppslag er en modell der det inneholdende objektet blir spurt om et objekt med et spesifikt navn eller av en bestemt type. Avhengighetsinjeksjon er en modell der beholderen sender objekter ved navn til andre objekter, enten gjennom konstruktørmetoder, egenskaper eller fabrikkmetoder.

I mange tilfeller når du bruker andre deler av Spring Framework trenger du ikke å bruke Wrapper, selv om bruk av den sannsynligvis vil tillate deg å gjøre en applikasjon enklere å konfigurere og tilpasse. Spring Container gir deg en konsistent mekanisme for å konfigurere applikasjonene dine, og integreres med nesten alle Java-miljøer, fra små applikasjoner til store bedriftsapplikasjoner.

Containeren kan delvis konverteres til en EJB 3.0 container via Pitchfork -prosjektet . Noen kritiserer Spring Framework for ikke å være standarder. [ 10 ] SpringSource ser imidlertid ikke EJB 3-samsvar som et viktig mål, og sier at Spring Framework og containeren tillater kraftigere programmeringsmodeller. [ 11 ]​ Du lager ikke et objekt, men beskriver hvordan det skal lages, ved å definere det i vår-konfigurasjonsfilen. Du kaller ikke tjenestene og komponentene, men du sier hvilke tjenester og komponenter som skal kalles, ved å definere dem i Spring-konfigurasjonsfilene. Dette gjør koden enklere å vedlikeholde og lettere å teste ved hjelp av Dependency Injection (IoC).

Se også

Notater og referanser

  1. a b Spring Framework 5.1.6, 5.0.13 og 4.3.23 tilgjengelig nå
  2. SpringSource Feature Tour
  3. Joltwinners 2006
  4. JAX Innovation Award Gewinner 2006
  5. SpringSource.org
  6. Neste stopp: Spring Framework 4.0. (på engelsk) . Hentet 24. september 2019.
  7. "Vår: rammeverket for komplekse Java-applikasjoner" . IONOS Digitalguide . Hentet 28. juni 2022 . 
  8. a b Begynnelse av våren Arkivert 19. februar 2018, på Wayback Machine .. Kapittel 2. Mert Çalıskan og Kenan Sevindik-utgiver John Wiley & Sons, Inc. 2015
  9. Hva er forskjellen mellom avhengighetsoppslag og avhengighetsinjeksjon - Vårforum . Forum.springsource.org (2009-10-28). Hentet 2013-11-24.
  10. Fjær VS EJB3
  11. "PitchforkFAQ" . Hentet 6. juni 2006 .  

Bibliografi

  • Mak, Gary (1. september 2010). Våroppskrifter: A Problem-Solution Approach (andre utgave). Trykk på . s. 1104. ISBN  1-4302-2499-1 . 
  • Walls, Craig (28. november 2010). Spring in Action (tredje utgave). Manning . s. 700. ISBN  1-935182-35-8 . 
  • Walls, Craig; Breidenbach, Ryan (16. august 2007). Spring in Action (andre utgave). Manning . s. 650 . ISBN  1-933988-13-4 . 
  • Johnson, Rod; Holler, Jürgen; Arendsen, Aleph; Risberg, Thomas; Sampaleanu, Colin (8. juli 2005). Profesjonell Java-utvikling med Spring Framework (første utgave). Wrox Trykk . s. 672. ISBN  0-7645-7483-3 . Arkivert fra originalen 24. november 2010 . Hentet 18. januar 2013 . 
  • Harrop, Rob; Machacek, Jan (31. januar 2005). Pro Spring (første utgave). Trykk på . s. 832 . ISBN  1-59059-461-4 . Arkivert fra originalen 18. februar 2012 . Hentet 18. januar 2013 . 
  • Johnson, Rod; Jürgen, Höller (23. oktober 2002). J2EE Utvikling uten EJB (Første utgave). Wrox Trykk . s. 768 . ISBN  0-7645-5831-5 . 
  • Johnson, Rod (oktober 2002). Expert One-on-one J2EE Design and Development (første utgave). Wrox Trykk . s. 750. ISBN  0-7645-4385-7 . 

Eksterne lenker