jarní rám | |
---|---|
Typ | aplikační rámec |
Vývojář | Klíčový software |
Zapsáno v | Java , Kotlin a Groovy |
Operační systém | Multiplatformní software |
První vydání | 1. října 2002 |
Hardwarová platforma | Jáva |
Nejnovější verze | |
Stát | Aktivní |
Licence | Licence Apache 2.0 |
webová stránka | jaro.io |
Mediální soubory na Wikimedia Commons |
Spring Framework (nebo zkráceně Spring ) je open source univerzální framework pro platformu Java . Existuje také fork .NET Framework s názvem Spring.NET [2] .
První verzi napsal Rod Johnson , který ji poprvé publikoval s vydáním své knihy Expert One-on-One Java EE Design and Development [3] ( Wrox Press , říjen 2002 ).
Framework byl poprvé vydán pod licencí Apache 2.0 v červnu 2003. První stabilní verze 1.0 byla vydána v březnu 2004 . Spring 2.0 byl vydán v říjnu 2006, Spring 2.5 v listopadu 2007, Spring 3.0 v prosinci 2009 a Spring 3.1 v prosinci 2011. Aktuální verze je 5.3.x.
Přestože Spring neposkytlo žádný konkrétní programovací model, v komunitě Java se rozšířil především jako alternativa a náhrada za model Enterprise JavaBeans . Jaro dává vývojářům v Javě více svobody návrhu; navíc poskytuje dobře zdokumentované a snadno použitelné nástroje pro řešení problémů, které vznikají při vytváření podnikových aplikací.
Mezitím jsou funkce jádra Spring použitelné pro jakoukoli aplikaci Java a existuje mnoho rozšíření a vylepšení pro vytváření webových aplikací na platformě Java Enterprise . Z těchto důvodů si Spring získal velkou oblibu a vývojáři jej uznávají jako strategicky důležitý rámec.
Spring poskytuje řešení mnoha výzev, kterým čelí vývojáři a organizace v jazyce Java, které chtějí vybudovat informační systém založený na platformě Java . Vzhledem k široké funkčnosti je obtížné určit nejvýznamnější konstrukční prvky, ze kterých se skládá. Jaro není zcela spojeno s platformou Java Enterprise , přestože je s ní rozsáhlá integrace, což je důležitý důvod její popularity.
Spring je pravděpodobně nejlépe známý jako zdroj rozšíření (funkcí) potřebných k efektivnímu vývoji komplexních podnikových aplikací mimo těžké programovací modely, které historicky dominovaly tomuto odvětví. Další výhodou je, že do dnešních běžných metod vývoje zavedl dříve nepoužívanou funkcionalitu i mimo platformu Java.
Tento rámec nabízí konzistentní model a umožňuje jej aplikovat na většinu typů aplikací, které jsou již postaveny na platformě Java. Spring je považován za implementaci modelu vývoje založeného na nejlepších průmyslových standardech a jeho zpřístupnění v mnoha oblastech Java.
Jaro si lze představit jako sbírku menších rámců nebo rámců v rámci. Většina těchto frameworků může fungovat nezávisle na sobě, ale při společném použití poskytují více funkcí. Tyto rámce jsou rozděleny do strukturních prvků typických komplexních aplikací:
Jádrem Springu je kontejner Inversion of Control , který poskytuje prostředky pro konfiguraci a správu objektů Java pomocí reflexe . Kontejner je zodpovědný za správu životního cyklu objektu: vytváření objektů, volání inicializačních metod a konfiguraci objektů jejich spojením.
Objekty vytvořené kontejnerem se také nazývají spravované objekty ( beans ). Konfigurace kontejneru se obvykle provádí vložením anotací (od J2SE verze 5 ), ale je také možné "starým způsobem" načíst soubory XML obsahující definici beanu a poskytující informace potřebné k vytvoření beanů.
Objekty lze získat jedním ze dvou způsobů:
Spring má svůj vlastní rámec webových aplikací MVC , který nebyl původně plánován. Vývojáři Springu se jej rozhodli napsat, protože framework Apache Struts , stejně jako další webové frameworky dostupné v té době, měly neúspěšnou architekturu. Zejména podle jejich názoru došlo k nedostatečnému oddělení mezi prezentační vrstvou a vrstvou zpracování dotazů, stejně jako mezi vrstvou zpracování dotazů a modelem [4] .
Třída DispatcherServlet je hlavním kontrolérem rámce a je zodpovědná za delegování řízení na různá rozhraní ve všech fázích vytváření požadavku HTTP. Tato rozhraní by měla být probrána podrobněji.
Stejně jako Struts je Spring MVC framework orientovaný na požadavky. Definuje strategická rozhraní pro všechny funkce moderního systému založeného na dotazech. Cílem každého rozhraní je být jednoduché a jasné, aby jej uživatelé mohli snadno znovu implementovat, pokud si to přejí. MVC připravuje cestu pro čistší front-end kód. Všechna rozhraní jsou úzce spjata se Servlet API . Toto spojení je některými vnímáno jako selhání vývojářů Spring při poskytování vyšší úrovně abstrakce pro webové aplikace. Tento odkaz však ponechává funkce Servlet API dostupné vývojářům a zároveň usnadňuje práci s nimi. Nejdůležitější rozhraní definovaná Spring MVC jsou uvedena níže:
Spring MVC poskytuje vývojářům následující funkce:
Webové aplikace mohou používat různé části Spring, nejen Spring MVC.
Spring zpřístupňuje svou vrstvu přístupu k databázi prostřednictvím JDBC . Kromě toho podporuje všechny populární ORM : Hibernate , JPA , JDO , EclipseLink , iBatis , Apache OJB , Apache Cayenne atd.
Pro všechny tyto rámce poskytuje Spring následující funkce:
Rámec pro správu transakcí ve Springu přináší na platformu Java mechanismus abstrakce. Hlavní rysy těchto abstrakcí jsou:
Spring Roo je rámec „dohoda před konfigurací“ pro rychlé vytváření podnikových aplikací.
Lze použít s:
Spring Integration je rámec pro JEE , který poskytuje funkce potřebné k odesílání zpráv nebo k vytvoření architektury řízené událostmi…
29. února 2012 vydala společnost VMware integraci Spring s produktem Apache Hadoop. Nový rámec Spring Hadoop [5] kombinuje možnosti rozhraní Spring Framework se schopnostmi Hadoop , což umožňuje vývojářům vytvářet aplikace, které lze škálovat z jednoho serveru na tisíce a poskytují vysokou dostupnost prostřednictvím softwaru, nikoli hardwaru. Integrací Hadoop Frameworku založeného na Javě , open - source platformy pro distribuované zpracování velkých datových sad v klastrech počítačů pomocí jednoduchého programovacího modelu, s aplikačním frameworkem Spring Java/JEE, vytvořil VMware projekt, který plně spadá pod „deštník“ Spring Data [6] [7] .
Mezi funkcemi nového rámce: