Spring Framework
Logo
VývojářSpringSource
Aktuální verze6.1.4 (15. února 2024)
Operační systémmultiplatformní
Vyvíjeno vJava
Typ softwaruaplikační framework
LicenceApache Licence 2.0
Webwww.springsource.org
Některá data mohou pocházet z datové položky.

Spring Framework je populární open-source aplikační rámec neboli framework (označován také jako kontejner) pro vývoj J2EE aplikací.

První verze byla napsána Rodem Johnsonem, který ji vydal v rámci publikace své knihy Expert One-on-One J2EE Design and Development v říjnu 2002. Rod Johnson se ve své knize zabývá vývojem J2EE aplikací a věnuje pozornost problémům, se kterými se programátoři setkávají. V knize je průběžně prezentován kód frameworku, který se nazývá Interface21, a měl by vývoj J2EE aplikací usnadnit. Za pomoci Juergena Hoellera je později framework rozšířen a pod názvem Spring Framework uvolněn jako open-source.

Framework byl poprvé uvolněn pod licencí Apache 2.0 v červnu 2003. První verze 1.0 byla vydána v březnu 2004, a další verze potom v září 2004 a březnu 2005. Spring Framework 1.2.6 získal v roce 2006 ocenění Jolt productivity award a JAX Innovation Award. Současná verze je 6.0.10.

Spring Framework může být použit libovolnou Java aplikací. Spring se stal populární v Java komunitě jako alternativa k Enterprise Java Beans (EJB), nebo jako jeho nadstavba.

Důvody vzniku

Základním důvodem vzniku Spring Frameworku je usnadnění vývoje enterprise aplikací:

Inversion of Control a Dependency Injection

Jádro Springu je postaveno na využití návrhového vzoru Inversion of Control a je označován jako IoC kontejner. Tento návrhový vzor funguje na principu přesunutí zodpovědnosti za vytvoření a provázání objektů z aplikace na framework. Objekty lze získat prostřednictvím vsazování závislostí, což je speciální případ Inversion of Control. Dependency Injection řeší vlastní způsob vložení objektů. Základní tři způsoby vložení objektů jsou Setter Injection, Constructor Injection a Interface Injection. Objekty vytvořené kontejnerem jsou nazývány JavaBeans. Objekty jsou frameworkem vytvořeny typicky na základě načtení konfiguračního souboru ve formátu XML, který obsahuje definice těchto Beans.

Spring Framework se nezabývá řešením již vyřešených problémů. Místo toho využívá prověřených a dobře fungujících existujících open-source nástrojů, které v sobě integruje. Tím se stává jejich použití často jednodušším.

Spring je modulární framework: Umožňuje využít třeba jen část, která se zrovna hodí k řešení daného problému. Účelem Springu je zjednodušení návrhu J2EE aplikací se zaměřením na architekturu aplikace (místo na technologii), na jednoduchou testovatelnost, na neinvazivnost a modulárnost.

Moduly

Spring Framework se skládá z částí organizovaných do asi dvaceti modulů. Moduly jsou rozděleny do skupin:

Core Container

Core Container se skládá z modulů Core, Beans, Context a Expression Language.

Data Access / Integration

Vrstva Data Access / Integration se skládá z JDBC, ORM, OXM, JMS a modulu Transactions.

Web

Vrstva Web se skládá z modulů Web, Web-Servlet, Web-Struts, a Web-portlet.

AOP

AOP je modul implementující podporu pro aspektově orientované programování. Umožňuje separovat části kódu prolínající se celou aplikací (autorizace, logování, transakce) do takzvaných aspektů a jejich následnou aplikaci na jakýkoli POJO objekt. Využití AOP modulu se prolíná celým frameworkem a jedná se o jednu z nejsilnějších vlastností Springu.

Samostatný modul Aspects umožňuje integraci AspectJ.

Test

Modul Test podporuje testování komponent Springu pomocí JUnit nebo TestNG.

Externí odkazy