tavaszi keret | |
---|---|
Típusú | pályázati keret |
Fejlesztő | Pivotal szoftver |
Beírva | Java , Kotlin és Groovy |
Operációs rendszer | Többplatformos szoftver |
Első kiadás | 2002. október 1 |
Hardver platform | Jáva |
legújabb verzió |
|
Állapot | Aktív |
Engedély | Apache licenc 2.0 |
Weboldal | tavasz.io |
Médiafájlok a Wikimedia Commons oldalon |
A Spring Framework (vagy röviden Spring ) egy nyílt forráskódú univerzális keretrendszer a Java platformhoz. A .NET-keretrendszernek van egy elágazása is, a Spring.NET [2] .
Az első verziót Rod Johnson írta , aki először Expert One-on-One Java EE Design and Development [3] című könyvének kiadásával tette közzé ( Wrox Press , 2002. október ).
A keretrendszer először az Apache 2.0 licenc alatt jelent meg 2003 júniusában. Az első stabil 1.0-s verzió 2004 márciusában jelent meg . A Spring 2.0 2006 októberében, a Spring 2.5 2007 novemberében, a Spring 3.0 2009 decemberében és a Spring 3.1 2011 decemberében jelent meg. A jelenlegi verzió az 5.3.x.
Bár a Spring nem kínált konkrét programozási modellt, a Java közösségben elsősorban az Enterprise JavaBeans modell alternatívájaként és helyettesítőjeként terjedt el . A tavasz nagyobb tervezési szabadságot ad a Java fejlesztőknek; emellett jól dokumentált és könnyen használható eszközöket biztosít a vállalati szintű alkalmazások létrehozása során felmerülő problémák megoldásához.
Mindeközben a Spring mag szolgáltatásai bármely Java-alkalmazáshoz alkalmazhatók, és számos bővítmény és fejlesztés létezik a webalkalmazások Java Enterprise platformon történő létrehozásához . Ezen okok miatt a Spring nagy népszerűségre tett szert, és a fejlesztők stratégiailag fontos keretként ismerik el.
A Spring számos olyan kihívásra kínál megoldást, amellyel a Java fejlesztők és szervezetek szembesülnek, amelyek a Java platformon alapuló információs rendszert szeretnének építeni . A széles körű funkcionalitás miatt nehéz meghatározni, hogy mely szerkezeti elemekből áll a legjelentősebb. A tavasz nem kapcsolódik teljes mértékben a Java Enterprise platformhoz , annak ellenére, hogy kiterjedt integrációja van vele, ami fontos oka népszerűségének.
A tavasz valószínűleg leginkább a komplex üzleti alkalmazások hatékony fejlesztéséhez szükséges bővítmények (szolgáltatások) forrásaként ismert az iparágat történelmileg uralt nehézsúlyú programozási modelleken kívül. További előnye, hogy korábban nem használt funkcionalitást vezetett be a mai mainstream fejlesztési módszerekbe, még a Java platformon kívül is.
Ez a keretrendszer konzisztens modellt kínál, és alkalmazhatóvá teszi a legtöbb olyan alkalmazástípusra, amely már a Java platformra épül. A Spring a legjobb iparági szabványokon alapuló fejlesztési modellt valósít meg, és a Java számos területén elérhetővé teszi.
A tavasz felfogható kisebb keretek vagy kereteken belüli keretek gyűjteményeként. A legtöbb ilyen keretrendszer egymástól függetlenül működhet, de együtt használva több funkcionalitást biztosítanak. Ezek a keretrendszerek tipikus komplex alkalmazások szerkezeti elemeire oszlanak:
A Spring magja az Inversion of Control konténer , amely a Java objektumok konfigurálását és kezelését biztosítja a tükrözés segítségével . A tároló felelős egy objektum életciklusának kezeléséért: objektumok létrehozásáért, inicializálási metódusok hívásáért és az objektumok összerendelésével történő konfigurálásáért.
A tároló által létrehozott objektumokat felügyelt objektumoknak ( komponenseknek ) is nevezik . A tároló konfigurálása általában megjegyzések beszúrásával történik (a J2SE 5-ös verziója óta ), de lehetőség van "régimódi módon" betölteni a komponensdefiníciót tartalmazó XML-fájlokat is, amelyek megadják a komponensek létrehozásához szükséges információkat.
Az objektumok kétféle módon szerezhetők be:
A Spring saját MVC webalkalmazás-keretrendszerrel rendelkezik, amelyet eredetileg nem terveztek. A Spring fejlesztői azért döntöttek ennek megírása mellett, mert az Apache Struts keretrendszernek , valamint az akkoriban elérhető többi webes keretrendszernek sikertelen volt az architektúrája. Véleményük szerint különösen a prezentációs és a lekérdezés-feldolgozási réteg, valamint a lekérdezés-feldolgozó réteg és a modell között nem volt kellő elválasztás [4] .
A DispatcherServlet osztály a keretrendszer fő vezérlője, és felelős a vezérlés delegálásáért a különböző interfészekhez, a HTTP-kérés minden szakaszában. Ezeket az interfészeket részletesebben kell tárgyalni.
A Strutshoz hasonlóan a Spring MVC is egy kérésorientált keretrendszer. Stratégiai interfészeket határoz meg egy modern lekérdezés alapú rendszer összes funkciójához. Az egyes felületek célja, hogy egyszerűek és áttekinthetők legyenek, hogy a felhasználók könnyen újratelepíthessék, ha úgy kívánják. Az MVC megnyitja az utat a tisztább előtér-kód felé. Minden interfész szorosan kapcsolódik a Servlet API -hoz . Ezt a kapcsolatot egyesek a tavaszi fejlesztők kudarcának tartják, hogy magasabb szintű absztrakciót biztosítsanak a webes alkalmazások számára. Ez a hivatkozás azonban elérhetővé teszi a Servlet API funkcióit a fejlesztők számára, miközben továbbra is megkönnyíti a munkát. Az alábbiakban felsoroljuk a Spring MVC által meghatározott legfontosabb interfészek:
A Spring MVC a következő szolgáltatásokat nyújtja a fejlesztőnek:
A webes alkalmazások a Spring különböző részeit használhatják, nem csak a Spring MVC-t.
A Spring a JDBC -n keresztül teszi közzé adatbázis-hozzáférési rétegét . Ezenkívül támogatja az összes népszerű ORM -et : Hibernate , JPA , JDO , EclipseLink , iBatis , Apache OJB , Apache Cayenne stb.
Mindezekhez a keretekhez a Spring a következő funkciókat kínálja:
A tavaszi tranzakciókezelési keretrendszer absztrakciós mechanizmust hoz a Java platformra. Ezen absztrakciók főbb jellemzői a következők:
A Spring Roo egy „konfiguráció előtti üzlet” keretrendszer az üzleti alkalmazások gyors felépítéséhez.
Használható:
A Spring Integration a JEE keretrendszere, amely biztosítja az üzenetküldéshez vagy az eseményvezérelt architektúra felépítéséhez szükséges funkcionalitást…
2012. február 29-én a VMware kiadta a tavaszi integrációt az Apache Hadoop termékkel. Az új Spring Hadoop keretrendszer [5] egyesíti a Spring Framework képességeit a Hadoop képességeivel , lehetővé téve a fejlesztők számára, hogy egyetlen szervertől több ezerig terjedő alkalmazásokat készítsenek, és hardver helyett szoftveren keresztül magas rendelkezésre állást biztosítanak. A Java -alapú Hadoop Framework, egy nyílt forráskódú platform nagy adathalmazok elosztott feldolgozására számítógépfürtökben egy egyszerű programozási modell segítségével, integrálásával a Spring Java/JEE alkalmazásfejlesztési keretrendszerrel, a VMware olyan projektet hozott létre, amely teljes mértékben megfelel a Spring Data [6] [7] "esernyője" .
Az új keret jellemzői között: