jednym z kluczowych komponentów Spring Framework jest programowanie zorientowane na aspekt (AOP). Programowanie zorientowane na aspekt pociąga za sobą rozbicie logiki programu na odrębne części zwane tzw. troskami. Funkcje, które obejmują wiele punktów aplikacji nazywane są przekrojowe obawy i te przekrojowe obawy są koncepcyjnie oddzielone od logiki biznesowej aplikacji., Istnieją różne wspólne dobre przykłady aspektów, takich jak rejestrowanie, audyt, transakcje deklaratywne, bezpieczeństwo, buforowanie itp.
kluczową jednostką modularności w OOP jest klasa, podczas gdy w AOP jednostką modularności jest aspekt. Dependency Injection pomaga oddzielić obiekty aplikacji od siebie, a AOP pomaga oddzielić obawy dotyczące przekrojów od obiektów, na które wpływają. AOP jest jak wyzwalacze w językach programowania takich jak Perl,. NET, Java i inne.
moduł Spring AOP zapewnia przechwytywanie aplikacji., Na przykład, gdy metoda jest wykonywana, można dodać dodatkową funkcjonalność przed lub po wykonaniu metody.
Terminologie AOP
zanim zaczniemy pracować z AOP, zapoznajmy się z pojęciami i terminologią AOP. Terminy te nie są specyficzne dla Spring, raczej są związane z AOP.
Sr.No | Warunki & opis |
---|---|
1 |
aspekt jest to moduł, który ma zestaw interfejsów API zapewniających wymagania przekrojowe., Na przykład moduł logowania będzie nazywany aspektem AOP do logowania. Aplikacja może mieć dowolną liczbę aspektów w zależności od wymagań. |
2 |
Join point oznacza to punkt w Twojej aplikacji, w którym możesz podłączyć aspekt AOP. Można również powiedzieć, że jest to rzeczywiste miejsce w aplikacji, w którym zostanie podjęte działanie przy użyciu Spring AOP framework. |
3 |
porady jest to rzeczywiste działanie, które należy wykonać przed lub po wykonaniu metody., Jest to rzeczywisty fragment kodu, który jest wywoływany podczas wykonywania programu przez Spring AOP framework. |
4 |
Pointcut jest to zestaw jednego lub więcej punktów przyłączenia, w których należy wykonać poradę. Możesz określać pointcuts za pomocą wyrażeń lub wzorców, jak zobaczymy w naszych przykładach AOP. |
5 |
wprowadzenie wprowadzenie pozwala na dodawanie nowych metod lub atrybutów do istniejących klas. |
6 |
obiekt docelowy obiekt jest doradzany przez jeden lub więcej aspektów., Obiekt ten zawsze będzie obiektem proxy, określanym również jako obiekt zalecany. |
7 |
Weaving Weaving to proces łączenia aspektów z innymi typami aplikacji lub obiektami w celu utworzenia zalecanego obiektu. Można to zrobić w czasie kompilacji, ładowania lub w czasie wykonywania. |
rodzaje porad
aspekty wiosenne mogą pracować z pięcioma rodzajami porad wymienionych poniżej −
SR.,Nie | porady & opis |
---|---|
1 |
przed Uruchom porady przed wykonaniem metody. |
2 |
Po Uruchom porady Po wykonaniu metody, niezależnie od jej wyniku. |
3 |
po zwróceniu Uruchom poradę po wykonaniu metody a tylko wtedy, gdy metoda zakończy się pomyślnie. |
4 |
po wyrzuceniu Uruchom porady Po wykonaniu metody a tylko wtedy, gdy metoda zakończy działanie, rzucając wyjątek., |
5 |
wokół Uruchom porady przed i po wywołaniu zalecanej metody. |
implementacja niestandardowych aspektów
Spring obsługuje podejście w stylu adnotacji @AspectJ i podejście oparte na schemacie do implementacji niestandardowych aspektów. Te dwa podejścia zostały szczegółowo wyjaśnione w poniższych sekcjach.
SR.,No | Approach & Description |
---|---|
1 | XML Schema based
Aspects are implemented using the regular classes along with XML based configuration. |
2 | @AspectJ based
@AspectJ refers to a style of declaring aspects as regular Java classes annotated with Java 5 annotations. |