Cadru de primăvară

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 5 iulie 2019; verificările necesită 16 modificări .
cadru de primăvară
Tip de cadru de aplicare
Dezvoltator Software pivot
Scris in Java , Kotlin și Groovy
Sistem de operare Software multiplatformă
Prima editie 1 octombrie 2002
Platformă hardware Java
ultima versiune
Stat Activ
Licență Licență Apache 2.0
Site-ul web primavara.io
 Fișiere media la Wikimedia Commons

Spring Framework (sau Spring pe scurt ) este un cadru universal open source pentru platforma Java . Există, de asemenea, un fork al .NET Framework numit Spring.NET [2] .

Prima versiune a fost scrisă de Rod Johnson , care a publicat-o pentru prima dată cu o ediție a cărții sale Expert One-on-One Java EE Design and Development [3] ( Wrox Press , octombrie 2002 ).

Cadrul a fost lansat pentru prima dată sub licența Apache 2.0 în iunie 2003. Prima versiune stabilă 1.0 a fost lansată în martie 2004 . Spring 2.0 a fost lansat în octombrie 2006, Spring 2.5 în noiembrie 2007, Spring 3.0 în decembrie 2009 și Spring 3.1 în decembrie 2011. Versiunea actuală este 5.3.x.

Deși Spring nu a furnizat niciun model de programare specific, a devenit larg răspândit în comunitatea Java, în principal ca o alternativă și un înlocuitor pentru modelul Enterprise JavaBeans . Spring oferă dezvoltatorilor Java mai multă libertate de proiectare; în plus, oferă instrumente bine documentate și ușor de utilizat pentru rezolvarea problemelor care apar la crearea aplicațiilor la scară întreprindere.

Între timp, caracteristicile nucleului Spring sunt aplicabile oricărei aplicații Java și există multe extensii și îmbunătățiri pentru construirea de aplicații web pe platforma Java Enterprise . Din aceste motive, Spring a câștigat multă popularitate și este recunoscută de dezvoltatori ca un cadru important din punct de vedere strategic.

Introducere

Spring oferă soluții pentru multe dintre provocările cu care se confruntă dezvoltatorii și organizațiile Java care doresc să construiască un sistem informațional bazat pe platforma Java . Datorită funcționalității largi, este dificil să se determine elementele structurale cele mai semnificative din care constă. Spring nu este în întregime asociat cu platforma Java Enterprise , în ciuda integrării sale extinse cu aceasta, ceea ce este un motiv important pentru popularitatea sa.

Spring este probabil cel mai bine cunoscut ca o sursă de extensii (funcții) necesare pentru a dezvolta în mod eficient aplicații de afaceri complexe în afara modelelor de programare grele care au dominat în istorie industria. Un alt avantaj este că a introdus funcționalități neutilizate anterior în metodele de dezvoltare curente de astăzi, chiar și în afara platformei Java.

Acest cadru oferă un model consistent și îl face aplicabil la majoritatea tipurilor de aplicații care sunt deja construite pe platforma Java. Se consideră că Spring implementează un model de dezvoltare bazat pe cele mai bune standarde din industrie și îl face disponibil în multe zone ale Java.

Module

Primăvara poate fi gândită ca o colecție de cadre mai mici sau cadre într-un cadru. Cele mai multe dintre aceste cadre pot funcționa independent unul de celălalt, dar oferă mai multă funcționalitate atunci când sunt utilizate împreună. Aceste cadre sunt împărțite în elemente structurale ale aplicațiilor complexe tipice:

Inversarea controlului

Miezul Spring este containerul Inversion of Control , care oferă mijloacele de configurare și gestionare a obiectelor Java folosind reflectarea . Containerul este responsabil pentru gestionarea ciclului de viață al unui obiect: crearea de obiecte, apelarea metodelor de inițializare și configurarea obiectelor prin legarea acestora.

Obiectele create de un container se mai numesc și obiecte gestionate ( fasole ). Configurarea containerului se face de obicei prin injectarea de adnotări (începând cu versiunea 5 de J2SE ), dar este, de asemenea, posibil să se încarce „modul de modă veche” fișiere XML care conțin definiția bean-ului și oferă informațiile necesare pentru a crea fasole.

Obiectele pot fi obținute în unul din două moduri:

MVC

Spring are propriul cadru de aplicații web MVC , care nu a fost planificat inițial. Dezvoltatorii Spring au decis să-l scrie deoarece cadrul Apache Struts , precum și alte cadre web disponibile la acel moment, aveau o arhitectură nereușită. În special, în opinia lor, a existat o separare insuficientă între straturile de prezentare și procesare a interogărilor, precum și între stratul de procesare a interogărilor și model [4] .

Clasa DispatcherServlet este controlerul principal al cadrului și este responsabilă pentru delegarea controlului către diferite interfețe, în toate etapele de realizare a unei solicitări HTTP. Aceste interfețe ar trebui discutate mai detaliat.

La fel ca Struts, Spring MVC este un cadru orientat spre solicitare. Acesta definește interfețe strategice pentru toate funcțiile unui sistem modern bazat pe interogări. Scopul fiecărei interfețe este să fie simplă și clară, astfel încât să fie ușor pentru utilizatori să o reimplementeze dacă doresc acest lucru. MVC deschide calea pentru un cod front-end mai curat. Toate interfețele sunt strâns legate de API-ul Servlet . Această conexiune este văzută de unii ca un eșec al dezvoltatorilor Spring de a oferi o abstractizare de nivel superior pentru aplicațiile web. Cu toate acestea, acest link lasă caracteristicile API-ului Servlet disponibile dezvoltatorilor, facilitând în același timp lucrul cu acestea. Cele mai importante interfețe definite de Spring MVC sunt enumerate mai jos:

Spring MVC oferă dezvoltatorului următoarele caracteristici:

Aplicațiile web pot folosi diverse părți ale Spring, nu doar Spring MVC.

Acces la date

Spring își expune stratul de acces la baza de date prin JDBC . În plus, acceptă toate ORM-urile populare : Hibernate , JPA , JDO , EclipseLink , iBatis , Apache OJB , Apache Cayenne etc.

Pentru toate aceste cadre, Spring oferă următoarele caracteristici:

Managementul tranzacțiilor

Cadrul de gestionare a tranzacțiilor din Spring aduce un mecanism de abstractizare platformei Java. Principalele caracteristici ale acestor abstracții sunt:

„Contract înainte de configurare” în Dezvoltarea aplicației

Spring Roo  este un cadru „ofertă înainte de configurare” pentru construirea rapidă a aplicațiilor de afaceri.

Poate fi folosit cu:

Integrare

Spring Integration  este un cadru pentru JEE care oferă funcționalitatea necesară pentru a trimite mesaje sau pentru a construi o arhitectură bazată pe evenimente...

Spring Hadoop

Pe 29 februarie 2012, VMware a lansat integrarea Spring cu produsul Apache Hadoop. Noul cadru Spring Hadoop [5] combină capacitățile Spring Framework-ului cu capacitatea Hadoop , permițând dezvoltatorilor să creeze aplicații care se scalează de la un singur server la mii și oferă o disponibilitate ridicată prin software, mai degrabă decât hardware. Prin integrarea Hadoop Framework bazată pe Java , o platformă open -source pentru procesarea distribuită a seturilor de date mari în clustere de computere folosind un model de programare simplu, cu cadrul de dezvoltare a aplicațiilor Spring Java/JEE, VMware a creat un proiect care se încadrează în totalitate sub „umbrelă” din Spring Data [6] [7] .

Printre caracteristicile noului cadru:

Vezi și

Note

  1. https://github.com/spring-projects/spring-framework/releases/tag/v5.3.23
  2. Cadrul de aplicații Spring.NET . Data accesului: 19 mai 2010. Arhivat din original la 2 aprilie 2006.
  3. Expert One-on-One J2EE Design and Development Arhivat 7 mai 2012 la Wayback Machine 
  4. Johnson, Expert One-on-One J2EE Design and Development, cap. 12 şi colab.
  5. Spring Hadoop . Consultat la 24 septembrie 2013. Arhivat din original pe 28 septembrie 2013.
  6. Date de primăvară . Consultat la 24 septembrie 2013. Arhivat din original pe 27 septembrie 2013.
  7. 1 2 Spring Hadoop: Un nou cadru pentru dezvoltatorii Java sub umbrela Spring Data Arhivat la 27 septembrie 2013. . High Load Web Arhivat 4 aprilie 2012 la Wayback Machine .

Literatură

Link -uri