Lab.3 Programowanie aspektowe w Springu
Wstęp
Na zajęciach utworzymy komponenty Spring z dostarczonych klas javy, odpowiednio je skonfigurujemy, utworzymy dla nich pięć rodzajów aspektów a następnie utworzymy dla nich testy jednostkowe.
Rys 4.2 Implementacja Aspektów w Springu
Porada = dodatkowa funkcjonalność dołączana do logiki biznesowej
Aspekt = Porada + Punkt przecięcia
Punkt złączenia jest to miejsce w programie, gdzie można ustawić punkt przecięcia aspektu
W AspectJ stosowanym w Springu punkty złączenia są ograniczone do wywołania metod. Nie można ustalić punktu przecięcia ani na zmianę właściwości obiektu ani na wywołanie konstruktora. Powodem tego ograniczenia jest implementacja mechanizmu aspektów za pomocą tworzenia obiektu pośredniczącego, który obudowuje obiekt docelowy. Pozwala to na przejęcie wywołania wszystkich metod i wykonanie przed lub po metodzie dodatkowej funkcjonalnosci, czyli porady.
Rys 4.3 Implementacja aspektów w Springu
Zadania
Opis zadań do wykonania na zajęciach znajduje się w udostępnionym [dokumencie Google] (https://docs.google.com/document/d/1FdkwmT57N_Nd2MhoO4LodTHZPHWiD3YHzRw5Cq2DB-Q/edit?usp=sharing “lab3 opis i zadania”).
Projekty gradle/spring potrzebne do wykonania zadań są umieszczone w [pliku archiwum] (http://detox.wi.zut.edu.pl/ww/lab3/lab3-projekty-2019.zip “lab3-projekty-2019.zip”).