Java Reference
In-Depth Information
14
Spring
Die Grundidee von Spring ist, Techniken wie Dependency Injection und Proxy-Unterstüt-
zung, die beispielsweise bei EJB eingesetzt werden, für alle Arten von Java-Anwendungen in
einheitlicher Weise zur Verfügung zu stellen. Statt Dependency Injection wird in Spring
auch der Ausdruck „Inversion of Control“ (IoC) verwendet. Damit soll ausgedrückt werden,
dass die Steuerung, welches Objekt eine Referenz auf welches andere Objekt bekommt, nicht
mehr von der Anwendung, sondern vom Framework durchgeführt wird; diese Steuerungs-
funktion wird dadurch quasi auf den Kopf gestellt. Die Proxy-Technik ist für EJB wesentlich,
weil damit wichtige Funktionen eines EJB-Containers wie das Ressourcen-Management, die
deklarative Transaktionssteuerung und die deklarative Zugriff skontrolle realisiert werden.
Die Proxy-Technik kommt in Spring in Gestalt der sogenannten aspektorientierten Program-
mierung (AOP) vor. AOP steht übrigens für zusätzliche anwendungsabhängige Funktio-
nen auch in EJB zur Verfügung. In diesem Buch wird AOP aber nur im Rahmen von Spring
behandelt.
14 1 Komponentenmodell
Das Komponentenmodell von Spring ist nicht besonders stark ausgeprägt, was sicher
auch daran liegt, dass Spring in allen möglichen Kontexten („normale“ Java-Anwendun-
gen, webbasierte Anwendungen mit Servlets, Anwendungen mit Datenbank-Zugriff über
JPA bzw. Hibernate, Android-Anwendungen usw.) eingesetzt werden soll. Es existiert
nicht die Vorstellung, dass eine Komponente in einer Jar-Datei vorliegen muss. Auch spielt
die dynamische Installation einer Komponente und der Austausch einer Komponente zur
Laufzeit keine herausragende Rolle. Das Komponentenmodell ähnelt sehr stark der Vor-
stellung von Java Beans. Eine Komponente in Spring ist eine Klasse bzw. ein Objekt einer
Klasse, wobei es zu einer Klasse entweder nur ein einziges Objekt oder beliebig viele
Objekte geben kann, abhängig von der Konfi gurationseinstellung für die betreff ende
Spring-Komponente.
Eine Spring-Anwendung besteht aus den folgenden Bestandteilen:
! Programmcode in Form von Java-Klassen: Es gibt keine Vorgaben für die Klassen, von
denen die Objekte, welche die Komponenten darstellen, stammen. Bei Java Beans gibt es
 
Search WWH ::




Custom Search