close

SpringFramework

Zur Navigation gehen Zur Suche gehen
SpringFramework
Spring Framework-Logo 2018.svg
Allgemeine Information
Programmtyp Framework für mobile Webanwendungen
Entwickler SpringSource
Erstveröffentlichung 1. Oktober 2002
Lizenz Apache-Lizenz 2.0
Tatsächlicher Zustand Aktiv
Technische Information
Eingeplant
Unterstützte Plattformen Java virtuelle Maschine
Versionen
Neueste stabile Version 5.1.6 (1. April 2019 (3 ​​Jahre, 6 Monate und 16 Tage) [ 1 ] ​)
Verknüpfungen

Spring ist eine Open- Source- Umkehrung des Steuerungscontainers und Anwendungsentwicklungs - Framework für die Java-Plattform . [ 2 ]

Die erste Version wurde von Rod Johnson geschrieben, der sie zusammen mit der Veröffentlichung seines Buches Expert One-on-One J2EE Design and Development (Wrox Press, Oktober 2002) veröffentlichte. Das Framework wurde ursprünglich im Juni 2003 unter der Apache 2.0-Lizenz veröffentlicht. Die erste Hauptversion war Version 1.0, die im März 2004 erschien, gefolgt von weiteren Meilensteinen im September 2004 und März 2005. Version 1.2.6 Spring Framework gewann Jolt Awards und Jax Innovation Awards 2006. [ 3 ] ​[ 4 ]​ Spring Framework 2.0 wurde 2006 veröffentlicht, Version 2.5 im November 2007, Spring 3.0 im Dezember 2009 und Spring 3.1 zwei Jahre später. [ 5 ] Der Entwicklungsstart der Version 4.0 wurde im Januar 2013 bekannt gegeben. [ 6 ] Die aktuelle Version ist 5.1.6. [ 1 ]

Obwohl die grundlegenden Funktionen des Spring Framework in jeder in Java entwickelten Anwendung verwendet werden können, gibt es mehrere Erweiterungen zum Erstellen von Webanwendungen auf der Java EE -Plattform . Obwohl es kein bestimmtes Programmiermodell vorschreibt, ist dieses Framework in der Community populär geworden, da es als Ergänzung zum EJB-Modell ( Enterprise JavaBean ) betrachtet wird.

Geschichte

Die ersten Komponenten des Spring Framework wurden im Jahr 2000 von Rod Johnson geschrieben , während er als unabhängiger Berater für seine Kunden in der Finanzbranche in London arbeitete. Während er das Buch Expert One-on-One J2EE Design And Development (Programmer to Programmer) schrieb, erweiterte Rod seinen Code, um seine Vision zu verkörpern, wie Anwendungen, die mit verschiedenen Teilen der J2EE -Plattform arbeiten , einfacher und effizienter werden könnten als diese Entwickler und Unternehmen verwendeten damals.

Im Jahr 2001 wurden die dominierenden Programmiermodelle für webbasierte Anwendungen von der Java Servlet API und den Enterprise JavaBeans angeboten , beides Spezifikationen, die von Sun Microsystems in Zusammenarbeit mit anderen Anbietern und Interessenvertretern entwickelt wurden und sich großer Beliebtheit in der Java-Community erfreuten. Anwendungen, die nicht webbasiert sind, wie z. B. clientbasierte Anwendungen oder Stapelanwendungen , könnten auf der Grundlage von Open-Source- oder kommerziellen Tools und Projekten geschrieben werden, die die für diese Entwicklungen erforderlichen Funktionen bereitstellen.

Schließlich präsentierte Rod Johnson nach der Veröffentlichung seines Buches im Jahr 2002 zum ersten Mal seinen Code für das Java Interface 21-Framework, das die Grundlage des Spring-Frameworks werden sollte [ 7 ] . Ein kleines Team von Entwicklern wurde in der Hoffnung gebildet, an der Erweiterung des Frameworks zu arbeiten, und im Februar 2003 wurde ein Projekt auf Sourceforge erstellt . Nachdem sie über ein Jahr an seiner Entwicklung gearbeitet hatten, veröffentlichten sie im März 2004 eine erste Version (Version 1.0). Nach dieser Veröffentlichung , Spring erfreute sich in der Java-Community großer Beliebtheit, teilweise aufgrund der Verwendung von Javadoc und einer überdurchschnittlichen Referenzdokumentation für ein Open-Source-Projekt.

Das Spring Framework wurde jedoch auch 2004 heftig kritisiert und ist noch immer Gegenstand heftiger Debatten. Zum Zeitpunkt der ersten großen Veröffentlichung sahen viele Entwickler und Vordenker Spring als einen großen Fortschritt gegenüber dem traditionellen Programmiermodell; dies galt insbesondere für Enterprise JavaBeans. Eines der Designziele des Spring Framework ist seine einfache Integration mit bestehenden J2EE-Standards und kommerziellen Tools. Dadurch entfällt teilweise die Notwendigkeit, seine Eigenschaften in einem Spezifikationsdokument zu definieren, das von einem offiziellen Gremium erstellt wurde und kritisiert werden könnte.

Das Spring Framework machte Techniken, die den meisten Programmierern unbekannt waren, in sehr kurzer Zeit populär. Das bemerkenswerteste Beispiel ist die Umkehrung der Kontrolle . Im Jahr 2004 erfreute sich Spring extrem hoher Akzeptanzraten und machte sein Programmierparadigma in der Java-Community populärer , indem es sein eigenes AOP - Framework ( Aspect-Oriented Programming ) anbot. [ Zitat erforderlich ]

Im Jahr 2005 übertraf Spring die Akzeptanzraten des Vorjahres aufgrund neuer Versionen und weiterer hinzugefügter Funktionen. Das Ende 2004 gestartete Community-Forum rund um das Spring Framework (The Spring Forum) trug ebenfalls zur Steigerung der Popularität des Frameworks bei und hat sich seitdem zur wichtigsten Informations- und Hilfequelle für seine Benutzer entwickelt.

Module

Das Spring Framework umfasst mehrere Module, die eine Reihe von Diensten bereitstellen:

Umkehrung des Kontrollcontainers

Das Herzstück des Spring Framework ist der Inversion of Control (IoC)-Container. Seine Aufgabe besteht darin, Anwendungsobjekte zu instanziieren, zu initialisieren und zu verbinden sowie eine Reihe zusätzlicher Funktionen bereitzustellen, die in Spring während der gesamten Lebensdauer des Objekts verfügbar sind. [ 8 ]

Die vom Container erstellten und verwalteten Objekte werden verwaltete Objekte oder Beans genannt . Diese Objekte sind vom Typ POJO . Um seine Aufgabe zu erfüllen, benötigt der Container Informationen darüber, wie die Beans instanziiert und miteinander verbunden werden . Diese Informationen werden als Konfigurationsmetadaten bezeichnet. Es gibt verschiedene Möglichkeiten, diese Informationen bereitzustellen: XML-basiert, annotationsbasiert oder Java-objektbasiert (seit Spring 3.0). Der Container ist unabhängig vom Format der Konfigurationsmetadaten. Der Benutzer kann jedes gewünschte Format verwenden und sie sogar in derselben Anwendung mischen. [ 8 ]

Objekte können durch Abhängigkeitssuche oder durch Abhängigkeitsinjektion abgerufen werden . [ 9 ] Die Abhängigkeitssuche ist ein Modell, bei dem das enthaltende Objekt nach einem Objekt mit einem bestimmten Namen oder einem bestimmten Typ gefragt wird. Abhängigkeitsinjektion ist ein Modell, bei dem der Container Objekte nach Namen an andere Objekte übergibt, entweder über Konstruktormethoden, Eigenschaften oder Fabrikmethoden.

In vielen Fällen, wenn Sie andere Teile des Spring Framework verwenden, müssen Sie den Wrapper nicht verwenden, obwohl die Verwendung es Ihnen wahrscheinlich ermöglichen wird, eine Anwendung einfacher zu konfigurieren und anzupassen. Der Spring Container bietet Ihnen einen konsistenten Mechanismus zum Konfigurieren Ihrer Anwendungen und lässt sich in fast alle Java-Umgebungen integrieren, von kleinen Anwendungen bis hin zu großen Unternehmensanwendungen.

Der Container kann über das Pitchfork -Projekt teilweise in einen EJB 3.0 -Container umgewandelt werden . Einige kritisieren das Spring Framework als nicht standardkonform. [ 10 ] Allerdings sieht SpringSource die Einhaltung von EJB 3 nicht als wichtiges Ziel an und erklärt, dass das Spring Framework und der Container leistungsfähigere Programmiermodelle ermöglichen. [ 11 ]​ Sie erstellen kein Objekt, sondern beschreiben, wie es erstellt werden soll, indem Sie es in der Spring-Konfigurationsdatei definieren. Sie rufen die Dienste und Komponenten nicht auf, aber Sie sagen, welche Dienste und Komponenten aufgerufen werden sollen, indem Sie sie in den Spring-Konfigurationsdateien definieren. Dadurch wird der Code einfacher zu warten und mit Dependency Injection (IoC) einfacher zu testen.

Siehe auch

Anmerkungen und Referenzen

  1. a b Spring Framework 5.1.6, 5.0.13 und 4.3.23 jetzt verfügbar
  2. SpringSource-Funktionstour
  3. Joltwinners 2006
  4. Gewinner des JAX-Innovationspreises 2006
  5. SpringSource.org
  6. Nächster Halt: Spring Framework 4.0. (auf Englisch) . Abgerufen am 24. September 2019.
  7. "Spring: Das Framework für komplexe Java-Anwendungen" . IONOS Digitalguide . Abgerufen am 28. Juni 2022 . 
  8. a b Beginn des Frühlings Archiviert am 19. Februar 2018 auf der Wayback Machine .. Kapitel 2. Mert Çalıskan und Kenan Sevindik Herausgeber John Wiley & Sons, Inc. 2015
  9. Was ist der Unterschied zwischen der Abhängigkeitssuche und der Abhängigkeitsinjektion – Spring Forum . Forum.springsource.org (2009-10-28). Abgerufen am 24.11.2013.
  10. Frühling GEGEN EJB3
  11. „PitchforkFAQ“ . Abgerufen am 6. Juni 2006 .  

Bibliographie

  • Mak, Gary (1. September 2010). Frühlingsrezepte: Ein Problemlösungsansatz (Zweite Auflage). Drücken Sie . p. 1104. ISBN  1-4302-2499-1 . 
  • Wände, Craig (28. November 2010). Frühling in Aktion (Dritte Ausgabe). Bemannen . p. 700. ISBN  1-935182-35-8 . 
  • Wände, Craig; Breidenbach, Ryan (16. August 2007). Frühling in Aktion (Zweite Ausgabe). Bemannen . pp. 650 . ISBN  1-933988-13-4 . 
  • Johnson, Rod; Holler, Jürgen; Arendsen, Aleph; Risberg, Thomas; Sampaleanu, Colin (8. Juli 2005). Professionelle Java-Entwicklung mit dem Spring Framework (Erstausgabe). Falsche Presse . p. 672. ISBN  0-7645-7483-3 . Archiviert vom Original am 24. November 2010 . Abgerufen am 18. Januar 2013 . 
  • Harrop, Rob; Machacek, Jan (31. Januar 2005). Pro Spring (Erstausgabe). Drücken Sie . pp. 832 . ISBN  1-59059-461-4 . Archiviert vom Original am 18. Februar 2012 . Abgerufen am 18. Januar 2013 . 
  • Johnson, Rod; Jürgen, Höller (23.10.2002). J2EE-Entwicklung ohne EJB (Erstausgabe). Falsche Presse . pp. 768 . ISBN  0-7645-5831-5 . 
  • Johnson, Rod (Oktober 2002). Expert One-on-one J2EE Design and Development (Erste Ausgabe). Falsche Presse . p. 750. ISBN  0-7645-4385-7 . 

Externe Links