smash Geschrieben 14. April 2009 Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 14. April 2009 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.