# Was ist Spring?



## Taneeda (12. Feb 2009)

Hallo Leute,

Ich höhre nun immer wieder von diesem Spring Framwork und habe mich schließlich auch gefragt, was genau das denn nun sein soll. Aus der Aussage "um die Entwicklung mit Java – vor allem bei Enterprise-Java-Anwendungen – nachhaltig zu vereinfachen" kann ich mir nun wirklich nicht vereinfachen...

nach längerer Suche bin ich nun noch immer nicht auf eine ausführliche Einfürhung in dieses Thema gestoßen, oder ich habs einfach übersehen, wer weiß...

Mein Frage also: Was genau ist das Spring Framework, wozu wurde es entworfen und was kann man damit machen?


----------



## byte (12. Feb 2009)

http://en.wikipedia.org/wiki/Spring_framework schon gelesen? Da stehen die wichtigsten Module kurz beschrieben.


----------



## mahe (12. Feb 2009)

Mir geht es genau gleich  

Ich würde mich gerne informieren aber so völlig ohne Ansatz ist das ziemlich schwer.


----------



## byte (12. Feb 2009)

Wenns zuviel auf einmal ist, dann erstmal auf das Kernmodul - den IoC Container - konzentrieren:

http://static.springframework.org/spring/docs/2.5.x/reference/beans.html


----------



## Taneeda (13. Feb 2009)

den Artikel von Wikipedia kenn ich, die Referenz ist mir allerdings neu, scheint recht gut zu sein, danke die byto...

Gibt es irgendwo sowas wie ein HelloWorld Programm, das kurz und prägnant die wichtigsten Komponenten zeigt?

Das grundlegende Verständnis kenn ich nur aus allgemeinen Beschreibungen, hab aber noch keine vernünftige Beispielimplementierung gesehen, an der der Nutzen des Framework deutlich wird...


----------



## foobar (13. Feb 2009)

Es gibt mehrere Demos z.b. hier: http://code.google.com/p/spring-petstore/


----------



## maki (13. Feb 2009)

> Das grundlegende Verständnis kenn ich nur aus allgemeinen Beschreibungen, hab aber noch keine vernünftige Beispielimplementierung gesehen, an der der Nutzen des Framework deutlich wird..


Wenn du verstehst was IoC (Inversion of Control)  bzw. DI (Dependency Injection) ist, dann ist Spring "nur noch" eine Implementierung davon.

http://martinfowler.com/articles/injection.html


----------



## byte (13. Feb 2009)

Den Nutzen von Spring wirst Du nur erkennen, wenn Du die Probleme kennst, die das Spring Framework für Dich löst oder Dir zumindest Hilfsmittel mitgibt, sie "besser" zu lösen.
Ein "HelloWorld" ist recht schwierig, denn es kommt einfach darauf an, was Du machen willst. Ich kann da nur wieder auf die Doku verweisen. Da ist auch viel Beispielcode drin. Aber natürlich ist das was anderes als ein HelloWorld Projekt, wo man sich irgendwas rauskopiert ohne zu verstehen, was da überhaupt abläuft.


----------



## ARadauer (13. Feb 2009)

muss byto zustimmen, ich denke einem anfänger kann der sinn von spring gar nicht klar sein... da es auf den ersten blick irgendwie umständlich wirkt irgendwelche instanzen zu injecten...

man muss wirklich auf die problem gestoßen sein, die spring löst um den sinn zu verstehen...


----------



## Kaffeemaschinist (13. Feb 2009)

Ein einfaches Beispiel (wofür wir Sping damals vor allem genutzt haben) war eben jenes Dependency Injection (http://de.wikipedia.org/wiki/Dependency_Injection), das uns besonders bei Unit-Tests, die bei zu enger Kopplung aufwendig werden, geholfen haben.

Beispielsweise hast du einen DaoManager, der allen Komponenten deines Programmes zur Verfügung stehen soll. Mit Swing reicht eine Konfigurationsdatei, die angibt, wie dieser DaoManager instanziert wird, und in der jeweiligen Komponente ein einfacher Zugriff auf den DaoManager (z.B. getDaoManager()), um die Referenz zu haben.

Macht die Arbeit mit JMock sehr viel einfacher und man kann gleich noch auf einen MainManager verzichten, der die ganzen Instanzen von allen Controllern/Managern verwaltet. Sprich: Entkopplung, die Instanz wird an die Stelle im Code "reingespritzt", wo sie gebraucht wird.


----------

