Programowanie komponentowe Spring

Materiały i zadania do laboratoriów ze Springa 4.0

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.

4.2 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.

4.3 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”).