smash Geschrieben 14. April 2009 Geschrieben 14. April 2009 Hallo, ich versuche gerade das Spring Framework kennen zu lernen und lese die Referenzdoku. Ich denke, dass ich die Grundlagen der Dependency Injection verstanden habe: Durch Interfaces werden konkrete Implementierungen verborgen. Damit die konkreten Klassen nicht bei der Instanzierung auftreten macht man halt die Dependency Injection. Die instanzierten Objekte werden z.B. an den Konstruktor übergeben. So bleibt eine Klasse vollständig unabhängig, von konkreten Implementierungen. Was ich noch nicht verstanden habe ist, wer, wie, wann und wo die konkreten Klassen instanziert werden. Es gibt bei Spring ja die BeanFactory bzw. den ApplicationContext. Aber wenn ich es richtig verstanden habe, soll man den nicht selber aufrufen, damit man unabhängig von Spring bleibt. Außerdem wäre es doch so etwas wie ein Service Locator, wenn man den ApplicationContext aufruft. Ich hoffe ihr könnt mir das erklären. oder in der Spring Doku das richtige Kapitel nennen, in dem das beschrieben wird. The Spring Framework - Reference Documentation Vielen Dank im Voraus.
kingofbrain Geschrieben 14. April 2009 Geschrieben 14. April 2009 Die Instanzierung und Initialisierung Deiner Beans übernimmt der Spring Container. Du musst ihm halt sagen, wie er das machen soll. Eine Möglichkeit ist z.B. der ClassPathXmlApplicationContext. Dem gibst Du den Speicherort der XML Konfigurationsdatei mit und dieser initialisiert dann die Beans mit ihren Abhängigkeiten. Wie Du an den ApplicationContext kommst oder diesen initialisierst, kommt auf Deine Umgebung und Deine eigene Präferenz an. Aber es könnte durchaus auf eine Art Service Locator hinauslaufen. Was für eine Anwendung hast Du denn, dann kann man passendere Hilfestellungen geben. Peter
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden