ZAWWW-2st1.2-w12.tresc-1.0-Slajd15
Przykład Spring AOP (1/3)
Kolejne trzy slajdy przedstawiają przykład wykorzystania mechanizmu programowania aspektowego w architekturze Spring. Załóżmy, że zdefiniowany został interfejs MyInterface zawierający metodę foo() (1), oraz klasa MyClass implementująca ten interfejs (2). Naszym celem jest stworzenie rady wykonującej się zawsze przed wywołaniem metody foo(). Do tego celu budujemy klasę TraceBeforeAdvice implementującą pochodzący ze Spring API interfejs MethodBeforeAdvice (3). Interfejs ten zawiera metodę before(), do której ciała wpisujemy kod rady. Metoda before() przyjmuje, jako parametry, metodę przed którą ma się wykonać, listę argumentów oraz referencję do obiektu, na rzecz którego wywołuje się obserwowana metoda. Na tym etapie należy podkreślić, że włączenie mechanizmu programowania aspektowego nie wymaga żadnej ingerencji w kod aplikacji (górne okno), a klasa definiująca radę zależy od jednego interfejsu ze Spring API.