logo

Proljetni AOP vodič

  1. Što je AOP?
  2. Gdje koristiti AOP?
  3. AOP koncepti i terminologija
  4. Proljetna implementacija AOP-a

Aspektno orijentirano programiranje (AOP) nadopunjuje OOP u smislu da također pruža modularnost. Ali ključna jedinica modularnosti je aspekt nego klasa.

AOP rastavlja programsku logiku na različite dijelove (koji se nazivaju zabrinutosti). Koristi se za povećanje modularnosti međusektorske brige .

A cross-cutting zabrinutost je problem koji može utjecati na cijelu aplikaciju i trebao bi biti centraliziran na jednom mjestu u kodu što je više moguće, kao što je upravljanje transakcijama, provjera autentičnosti, bilježenje, sigurnost itd.


Zašto koristiti AOP?

Omogućuje pluggable način za dinamičko dodavanje dodatne brige prije, poslije ili oko stvarne logike. Pretpostavimo da postoji 10 metoda u klasi kao što je navedeno u nastavku:

 class A{ public void m1(){...} public void m2(){...} public void m3(){...} public void m4(){...} public void m5(){...} public void n1(){...} public void n2(){...} public void p1(){...} public void p2(){...} public void p3(){...} } 

Postoji 5 metoda koje počinju od m, 2 metode koje počinju od n i 3 metode koje počinju od p.

Razumijevanje scenarija Moram voditi dnevnik i poslati obavijest nakon pozivanja metoda koje počinju od m.

Problem bez AOP-a Možemo pozvati metode (koje vode dnevnik i šalju obavijesti) iz metoda koje počinju s m. U takvom scenariju, moramo napisati kod u svih 5 metoda.

Ali, ako klijent kaže u budućnosti, ne moram slati obavijest, trebate promijeniti sve metode. To dovodi do problema s održavanjem.

Rješenje s AOP-om Ne moramo pozivati ​​metode iz metode. Sada možemo definirati dodatnu brigu kao što je održavanje dnevnika, slanje obavijesti itd. u metodi klase. Njegov unos nalazi se u xml datoteci.

U budućnosti, ako klijent kaže da uklonimo funkciju obavijesti, trebat ćemo promijeniti samo u xml datoteci. Dakle, održavanje je jednostavno u AOP-u.

što je mac os

Gdje koristiti AOP?

AOP se najčešće koristi u sljedećim slučajevima:

  • za pružanje deklarativnih poslovnih usluga kao što je deklarativno upravljanje transakcijama.
  • Korisnicima omogućuje implementaciju prilagođenih aspekata.

AOP koncepti i terminologija

AOP koncepti i terminologija su sljedeći:

  • Točka spajanja
  • Savjet
  • Pointcut
  • Uvod
  • Ciljani objekt
  • Aspekt
  • presretač
  • AOP proxy
  • Tkanje

Točka spajanja

Točka spajanja je bilo koja točka u vašem programu kao što je izvođenje metode, rukovanje iznimkama, pristup polju itd. Spring podržava samo točku spajanja izvršenja metode.


Savjet

Savjet predstavlja radnju koju poduzima aspekt na određenoj točki spajanja. Postoje različite vrste savjeta:

  • Prije savjeta : izvršava se prije točke spajanja.
  • Nakon povratka savjet : izvršava se nakon što se spojna točka normalno završi.
  • Nakon bacanja savjeta : izvršava se ako metoda izađe izbacivanjem iznimke.
  • Nakon (konačno) Savjeta : izvršava se nakon točke spajanja bez obzira na izlaz iz točke spajanja, bilo normalan ili izniman povratak.
  • Oko savjeta : Izvršava se prije i poslije točke spajanja.

Pointcut

To je izrazni jezik AOP-a koji odgovara točkama spajanja.


Uvod

To znači uvođenje dodatne metode i polja za tip. Omogućuje vam uvođenje novog sučelja u bilo koji preporučeni objekt.


Ciljani objekt

To je objekt, tj. savjetuje ga jedan ili više aspekata. Također je poznat kao proxy objekt u proljeće jer je Spring AOP implementiran pomoću izvršnih proxyja.


Aspekt

To je klasa koja sadrži savjete, točke spajanja itd.


presretač

To je aspekt koji sadrži samo jedan savjet.


AOP proxy

Koristi se za implementaciju aspektnih ugovora, kreiranih AOP okvirom. Bit će to JDK dinamički proxy ili CGLIB proxy u proljetnom okviru.


Tkanje

To je proces povezivanja aspekta s drugim tipovima aplikacija ili objektima za stvaranje preporučenog objekta. Tkanje se može obaviti tijekom kompilacije, vremena učitavanja ili vremena izvođenja. Spring AOP izvodi tkanje tijekom izvođenja.

kako pronaći veličinu monitora

AOP implementacije

AOP implementacije osiguravaju:

  1. aspektJ
  2. Opruga AOP
  3. JBoss AOP

Proljeće AOP

Spring AOP se može koristiti na 3 načina navedena u nastavku. No široko korišteni pristup je Spring AspectJ Annotation Style. U nastavku su navedena 3 načina korištenja opružnog AOP-a:

  1. Od Spring1.2 Stari stil (temeljen na dtd) (također podržan u Spring3)
  2. Prema stilu napomena AspectJ
  3. By Spring XML konfiguracijski stil (na temelju sheme)

Referentne veze

Izvor izvora AOP
Spring Source AOP API
Wikipedia