Java Reference
In-Depth Information
das auch nicht, aber es gibt doch zumindest gewisse Empfehlungen. Bei Spring ist man
ganz frei. Nicht einmal ein parameterloser Konstruktor ist unbedingt nötig.
! K o n fi gurationsinformationen: Neben dem Programmcode, der sich wie beschrieben aus
beliebigen Klassen zusammensetzen kann, sind die Konfi gurationsinformationen für
eine Spring-Anwendung wesentlich. Diese befi nden sich traditionell in einer oder mehre-
ren XML-Dateien. In neueren Spring-Versionen können auch Annotationen verwendet
werden. Da aber XML-Dateien immer noch stark verbreitet sind, wird auf ihre Verwen-
dung in diesem Buch nicht verzichtet. Eine Konfi gurationsdatei enthält im Wesentlichen
eine Liste von Komponenten, die als Beans bezeichnet werden, wobei auch damit die
gedankliche Nähe zu den Java Beans ausgedrückt wird. Im Folgenden werden die Begriff e
Spring-Komponente und Bean als Synonyme verwendet. Die minimale Angabe für eine
Spring-Komponente ist der Name der Klasse, von der ein Objekt erzeugt werden soll.
Wenn die Komponente unter einem Namen angesprochen werden soll, was den Regelfall
darstellt, bekommt sie auch noch einen frei wählbaren Namen. Weitere Angaben sind
u. a., ob es zu der Klasse nur ein Objekt oder mehrere Objekte geben soll, sowie auf wel-
che anderen Komponenten diese Komponente eine Referenz erhalten soll (Dependency
Injection).
! Hauptprogramm (für „normale“ Java-Spring-Anwendungen): Im Hauptprogramm wird
ein ApplicationContext erzeugt, wobei als Konstruktor-Parameter der Name der Konfi gu-
rationsdatei bzw. die Namen mehrerer Konfi gurationsdateien angegeben werden. Spring
baut dann die Anwendung mit ihren „Verdrahtungen“ auf. Unter Umstä nden wird damit
die Anwendung durch den Aufruf von Konstruktoren, Initialisierungsmethoden und Set-
ter-Methoden schon so weit gestartet, dass keine weiteren Aktionen im Hauptprogramm
mehr nötig sind. Es ist aber auch möglich, dass das Hauptprogramm sich unter Angabe
des Namens einer Komponente diese vom ApplicationContext geben lässt, um beliebige
weitere Methoden auf die Komponenten anzuwenden und damit das Hauptprogramm die
Anwendung treibt oder startet. Falls die Spring-Anwendung rein durch Annotationen
statt durch XML-Dateien konfi guriert wird, muss man bei der Erzeugung des Application-
Context ein Class-Objekt angeben, wobei sich in der dadurch repräsentierten Klasse ent-
sprechende Annotationen befi nden müssen.
Als einer der wesentlichen Vorteile von Spring wird gesehen, dass die „Verdrahtung“ der
Objekte durch Dependency Injection leicht änderbar ist, da sie nicht in den Tiefen der
Anwendung verborgen und auf eventuell viele Stellen verteilt ist. Dadurch wird es einfach
möglich, unterschiedliche Anwendungen aus denselben Komponenten, aber mit anderen
Strukturen aufzubauen. Ferner wird somit auch das Testen wesentlich erleichtert, weil für
unterschiedliche Testszenarien jeweils unterschiedliche einfachere Strukturen, eventuell
mit zusätzlichen Dummy- oder Mock-Objekten, eingerichtet werden können.
 
Search WWH ::




Custom Search