Java Reference
In-Depth Information
Listing 3.4 zeigt einige Beispielklassen, in denen die Annotation @Inject verwendet wird:
Listing 3.4 Beispielklassen für die Anwendung von Dependency Injection
package javacomp.basics;
class A
{
@Inject
private B b;
@Inject
private C c;
}
class B
{
@Inject
private A a;
}
class C
{
}
Wenn unser Dependency-Injection-Programm mit den drei Kommandozeilenargumenten
javacomp.basics.A, javacomp.basics.B und javacomp.basics.C gestartet wird, wird je ein
Objekt der Klasse A, B und C erzeugt, die dann so „verdrahtet“ werden, wie es in dem UML-
Objektdiagramm in Bild 3.1 zu sehen ist. Ein Objekt wird in einem Objektdiagramm durch
einen optionalen Bezeichner beschri et, der auch weggelassen werden kann, wie dies in
Bild 3.1 zu sehen ist. Dann folgt ein Doppelpunkt und danach der Name der Klasse. Die
Beschri ung ist für Objekte immer unterstrichen (im Gegensatz zu Klassen und Schnittstel-
len in einem UML-Klassendiagramm).
:A
:B
:C
Bild 3.1 „Verdrahtung der Beispielobjekte zu den Klassen aus Listing 3.4
In Listing 3.5 ist der komplette Programmcode für dieses einfache Beispiel einer Depen-
dency Injection zu fi nden.
Listing 3.5 Beispielprogramm zur Dependency Injection
package javacomp.basi
cs;
import java.lang.reflect.*;
import java.util.*;
public class DependencyInjection
{
public static void main(String[] args)
{
if(args.length == 0)
 
Search WWH ::




Custom Search