Spring (Framework)
aus Wikipedia, der freien Enzyklopädie
Spring (Framework) | |
---|---|
Maintainer: | SpringSource |
Aktuelle Version: | 2.5.4 (28. April 2008) |
Betriebssystem: | plattformübergreifend |
Kategorie: | Framework |
Lizenz: | Apache-Lizenz 2.0 |
Website: | springframework.org |
Das Spring Framework ist ein Open-Source-Applikationsframework für die Java-Plattform. Ziel des Spring Frameworks (kurz Spring) ist es, die Entwicklung mit Java/JavaEE zu vereinfachen und gute Programmierpraktiken zu fördern. Spring bietet mit einem breiten Spektrum an Funktionalität eine ganzheitliche Lösung zur Entwicklung von Applikationen und Geschäftslogiken. Dabei steht die Entkopplung einzelner Framework-Komponenten im Vordergrund und bietet somit das Zusammenspiel unterschiedlichster Plattformen und Tools: von J2EE-Servern über Persistenztools bis hin zur Web-Integration.
Inhaltsverzeichnis |
[Bearbeiten] Eigenschaften
Das Framework basiert auf den in Rod Johnsons Buch "Expert One-On-One J2EE Design and Development“ (ISBN 0-7645-4385-7) vorgestellten Prinzipien:
- Dependency Injection: Den Objekten werden die abhängigen Objekte bzw. Ressourcen zugewiesen. Sie müssen sie nicht selbst suchen.
- Aspektorientierte Programmierung (AOP): Dadurch kann man vor allem technische Aspekte wie Transaktionen oder Sicherheit isolieren und den eigentlichen Code davon frei halten.
- Templates dienen dazu, die Arbeit mit einigen APIs zu vereinfachen, indem Ressourcen automatisch aufgeräumt werden und Fehlersituationen einheitlich behandelt werden.
Dadurch wird ein POJO-basiertes Programmiermodell möglich, bei dem die POJOs zusätzlich in verschiedenen Umgebungen (auf einem Server oder in einer Client Anwendung) lauffähig sind.
Das Spring Framework stellt mit Spring MVC außerdem ein Webframework für die Erstellung von Webanwendungen bereit.
Spring wird heute unter anderem von Jürgen Höller, Rod Johnson und Rob Harrop (alle bei SpringSource, ehemals Interface21 beschäftigt) weiterentwickelt. Am 19. November 2007 erschien die Version 2.5 mit umfangreichen Änderungen unter anderem in der Konfiguration der Dependency Injection durch Annotations. Außerdem wird mit dem Projekt Pitchfork auch ein EJB-3-Container auf Basis von Spring entwickelt.
Auf Basis des Spring Frameworks existieren weitere Projekte, welche innerhalb des Spring Projektes entwickelt werden.
- Spring Web Flow für die Implementierung von Abläufen auf einer Webseite
- Spring Webservices zur Erstellung von Contract-First Webservices
- Spring Security zur Absicherung von Java Anwendungen sowie Webseiten
- Spring LDAP für den einfacheren Zugriff auf LDAP Systeme
- Spring Rich Client zur Erstellung von Rich Client Anwendungen auf Basis des Spring Frameworks
- Spring Extensions (Modules) zur Anbindung von weiteren Frameworks welche nicht im Spring Framework selbst enthalten sind
- Spring IDE unterstützt den Entwickler in der Erstellung und Wartung von Spring Anwendungen
- Spring BeanDoc für die Erstellung von Dokumentationen zu den Spring Framework Konfigurationen
- Spring Dynamic Modules for OSGi(tm) Service Platforms für die Implementierung von Spring Anwendungen auf Basis des OSGI Frameworks
- Spring JavaConfig für die Konfiguration der Spring Anwendung auf Basis von Java Klassen anstelle von XML oder Annotations
- Spring .NET ist die Portierung des Spring Framework auf der .NET Plattform
- Spring Batch für die Abbildung von Batch Prozessen auf der Java Plattform
[Bearbeiten] Geschichte
Die erste Version des Applikationsframeworks wurde von Rod Johnson entwickelt. Die Grundlagen und Prinzipien des Frameworks erschienen in Rod Johnsons Buch "Expert One-On-One J2EE Design and Development“ (ISBN 0-7645-4385-7) im Oktober 2002, für welches als Begleitmaterial ein Sourcecode-Download des Framework-Gerüsts verfügbar war.
Im Februar 2003 wurde der Code erstmals auf Sourceforge als Open Source-Projekt eingestellt und erhielt zu diesem Zeitpunkt den Namen Spring-Framework. Im Juni 2003 erschien das erste Release in der Version 0.9 unter der Apache 2.0 Lizenz. Das offizielle 1.0 Release des Frameworks wurde im März 2004 veröffentlicht.
Seit dieser Zeit fand das Spring Framework in wenigen Jahren weite Verbreitung und wird bereits in einer Vielzahl von Anwendungen eingesetzt.
In den darauf folgenden Monaten wurde die Version 1.1 im September 2004 mit Fehlerbehebungen und zahlreichen neuen Funktionen veröffentlicht. Die im Mai 2005 veröffentliche Version 1.2 unterstützte bereits einige Java 5 Funktionalitäten bei gleichzeitiger Abwärtskompabilität zu älteren Java Versionen. Im Dezember 2005 wurde von den Spring Entwicklern die Version 2.0 angekündigt. Die Version 2.0 brachte eine Menge an neuen Funktionen mit sich und wurde im Oktober 2006 veröffentlicht.
Bis zur Veröffentlichung der Version 2.0 wurde das Spring Framework bereits 1 Million mal heruntergeladen und gewann im Jahr 2006 den JAX Innovation Award.
Im November 2007 wurde die Version 2.5 veröffentlicht. Ursprünglich fand die Entwicklung unter der Version 2.1 statt, aber aufgrund der vielen neuen Funktionen wurde die Version 2.5 als Nachfolger für die Version 2.0.x veröffentlicht. Spring 2.5 unterstützt vollständig die Java 6 Version sowie die Java EE in der Version 5, bei gleichzeitiger Abwärtskompabilität zu Java 1.4 sowie Java EE 1.3. Außerdem werden in Spring 2.5 Annotations für die Konfiguration der Anwendungskomponenten unterstützt. Im Januar 2008 wurde die Version 2.5.1 veröffentlicht, welche Fehlerbehebungen sowie kleinere Verbesserungen enthält.
Die Entwicklung des Spring Frameworks findet nach wie vor durch die Spring-Kernentwickler statt. Die Firma SpringSource beschäftigt alle aktiven Entwickler des Projektes.
[Bearbeiten] Spring Dynamic Modules (früher Spring-OSGi)
Spring Dynamic Modules agiert als Brücke zwischen dem Spring-Framework und OSGi. Anwendungen auf Basis des Spring-Frameworks können hierdurch mit OSGi implementiert werden. Grundidee ist die Bereitstellung von Spring in Form von Bundles. Dabei sollen die dynamischen Features von OSGi genutzt werden.
Jedes Bundle besitzt seinen eigenen Application-Context. Die Spring-Beans können als OSGi-Services exportiert werden und OSGi-Services können als Spring-Beans importiert werden. Services können dynamisch installiert und deinstalliert werden. Derzeitiges Release ist Spring Dynamic Modules 1.1.0 M1, welches am 7. April 2008 veröffentlicht wurde.
[Bearbeiten] Literatur
- Rod Johnson: Expert One-on-one J2EE Design and Development. Wrox, 2002, ISBN 0-764-54385-7
- Rob Harrop, Jan Machacek: Pro Spring. APress, 2005, ISBN 1-590-59461-4
- Rod Johnson, Jürgen Höller, Alef Arendsen, Thomas Risberg, Colin Sampaleanu: Professional Java Development with the Spring Framework. Wiley, 2005, ISBN 0-764-57483-3
- Rod Johnson, Jürgen Höller: J2EE Development Without EJB. Wiley, 2004, ISBN 0-764-55831-5
- Richard Oates, Thomas Langer, Stefan Wille, Torsten Lueckow, Gerald Bachlmayr: Spring & Hibernate. Eine praxisbezogene Einführung, Hanser Verlag, 2006, ISBN 978-3-446-40457-1
- Eberhard Wolff: Spring 2 - Framework für die Java Entwicklung. dpunkt, 2007 (2. Auflage), ISBN 3-898-64465-0 , http://www.spring-buch.de/
- Eberhard Wolff: Spring 2.0 im Einsatz , ISBN 978-3-939084-23-5 , http://www.trivadis.com/presse/trivadis-in-der-presse/news-ansicht/news/spring-20-im-einsatz/111/next/4.html/
- Craig Walls: Spring in Action. Manning, 2007 (second edition), ISBN 1-933-98813-4, http://www.manning.com/SpringinAction
- Peter Welkenbach, Guido Schmutz: Spring 2.0 im Einsatz. EntwicklerPress, 2006, ISBN 978-3-939084-23-5, http://entwickler-press.de/ep/psecom,id,1,buchid,78,p,0,_language,de.html
[Bearbeiten] Weblinks
[Bearbeiten] Spring
- http://www.springframework.org/ – Webpräsenz des Projektes (engl.)
- http://www.springframework.net/ – Portierung des Spring Framework für Microsofts .NET (engl.)
- http://www.st.informatik.tu-darmstadt.de/database/seminars/data/Spring.pdf?id=87 – Das Spring Framework (Autor: Christian Seufert)
- http://www.theserverside.com/articles/content/SpringFramework/article.html – Introduction to the Spring Framework by Rod Johnson (engl.)
- http://www.theserverside.com/tt/articles/article.tss?l=IntrotoSpring25 - Introduction to the Spring Framework 2.5 by Rod Johnson (engl.)
[Bearbeiten] Spring-OSGi
- http://www.springframework.org/osgi - Spezifikation und Dokumentation von Spring-OSGi (engl.)
- http://jandiandme.blogspot.com/2007/04/wjax-spring-day-spring-osgi-martin.html - Artikel zum Thema Spring-OSGi
- JAX2007-SpringOSGi.pdf - Präsentation von Spring-OSGi auf der JAX 2007 in Wiesbaden
- SpringSource Application Platform - Ankündigung auf JAXenter.de