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.
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.
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:
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:
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.
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:
Cadrul de gestionare a tranzacțiilor din Spring aduce un mecanism de abstractizare platformei Java. Principalele caracteristici ale acestor abstracții sunt:
Spring Roo este un cadru „ofertă înainte de configurare” pentru construirea rapidă a aplicațiilor de afaceri.
Poate fi folosit cu:
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...
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: