ZAWWW-2st1.2-w12.tresc-1.0-Slajd11

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Inversion of Control - przykład (3/3)

Inversion of Control - przykład (3/3)


Slajd przedstawia plik konfiguracyjny beans.xml, który definiuje powiązania między obiektami używanymi w aplikacji. Plik definiuje dwa komponenty, odpowiednio o nazwach MovieLister i MovieFinder. Pierwszy komponent, dla którego implementacją jest klasa spring.MovieLister (której kod został umieszczony na poprzednim slajdzie), posiada składową o nazwie finder (1). Wartością tej składowej jest referencja do innego lokalnego komponentu, a mianowicie referencja do komponentu o nazwie MovieFinder. Komponent ten, którego implementacją jest klasa spring.IMDBFinder, posiada jedną składową o nazwie url i wartości http://www.imdb.com. Powyższy plik konfiguracyjny zostanie wykorzystany przez kontener IoC w następujący sposób. Pierwsze odwołanie do komponentu MovieLister spowoduje utworzenie nowego obiektu klasy spring.MovieLister i wywołanie na rzecz tego obiektu metody setFinder(). Parametrem wywołania metody setFinder() będzie referencja do obiektu klasy IMDBFinder. Jeśli taki obiekt już istnieje, to zostanie wykorzystany, w przeciwnym przypadku kontener utworzy nowy obiekt i wywoła na jego rzecz metodę setUrl() z parametrem "http://www.imdb.com". Referencja do tego obiektu zostanie przekazana jako wartość parametru metody setFinder() w komponencie MovieLister. Oznacza to, że kontener IoC nie tylko automatycznie tworzy i wiąże obiekty, ale również poprawnie określa konieczną kolejność tworzenia obiektów.


<< Poprzedni slajd | Spis treści | Następny slajd >>