En av de viktigste komponentene i Spring Framework er et Aspekt orientert programmering (AOP) rammeverk. Aspekt-Orientert Programmering innebærer å bryte ned programmet logikk inn i forskjellige deler kalt såkalte bekymringer. Funksjonene som dekker flere punkter av et program som kalles » cross-cutting gjelder, og disse cross-cutting bekymringer er konseptuelt skille fra programmets forretningslogikk., Det er ulike felles gode eksempler på aspekter som logging, overvåking, fortellende transaksjoner, sikkerhet, caching, etc.
– tasten enhet av fleksibilitet i OOP er det klasse, mens i AOP-enheten av fleksibilitet er et aspekt. Dependency Injection hjelper deg med å skille de søknaden din objekter fra hverandre og AOP hjelper deg med å skille cross-cutting bekymringer fra gjenstander som de påvirker. DRIFTSBUDSJETTET er som utløser i programmerings-språk, for eksempel Perl .NET, Java, og andre.
Våren AOP-modulen gir interceptors til å fange opp et program., For eksempel, når en metode er utført, kan du legge til ekstra funksjonalitet før eller etter metoden gjennomføring.
AOP Terminologier
Før vi begynner å arbeide med AOP, la oss bli kjent med AOP begreper og terminologi. Disse begrepene er ikke spesifikke for Våren, snarere de er knyttet til AOP.
Sr Ingen | Vilkår & Beskrivelse |
---|---|
1 |
Aspekt Dette er en modul som har et sett med Api-er gir cross-cutting krav., For eksempel, en logging modul ville bli kalt AOP aspekt for logging. Et program kan ha en rekke aspekter, avhengig av kravet. |
2 |
Bli med punkt Dette representerer et punkt i søknaden hvor du kan koble til AOP-aspektet. Du kan også si, det er den faktiske sted i programmet der en handling vil bli tatt med Våren AOP rammeverk. |
3 |
Råd Dette er selve handlingen for å bli tatt enten før eller etter den metoden som kjøres., Dette er en faktisk del av koden som er brukt under programutførelsen av Våren AOP rammeverk. |
4 |
Pointcut Dette er et sett av en eller flere bli med poeng der et råd bør utføres. Du kan angi pointcuts ved hjelp av uttrykk eller mønstre som vi vil se i vår AOP eksempler. |
5 |
Innledning En innføring lar deg legge til nye metoder eller egenskaper til eksisterende klasser. |
6 |
Målet objektet objektet blir anbefalt av ett eller flere aspekter., Dette objektet vil alltid være en proxied objekt, også referert til som anbefales objekt. |
7 |
Veving Veving er prosessen med å knytte aspekter med andre programtyper eller objekter for å opprette et oppmerksom på objektet. Dette kan gjøres på kompilere tid, legg i gang, eller ved kjøring. |
Typer Råd
Våren aspekter kan arbeide med fem typer råd nevnt som følger −
Sr.,Nei | Råd & Beskrivelse |
---|---|
1 |
før Kjør råd før en metode for gjennomføring. |
2 |
etter Kjør råd etter metoden gjennomføring, uavhengig av sakens utfall. |
3 |
etter-retur Kjør råd etter en metode for gjennomføring bare hvis metoden fullføres. |
4 |
etter å kaste Kjør råd etter en metode for gjennomføring bare hvis metoden går ut ved å kaste et unntak., |
5 |
rundt Kjør råd før og etter anbefalt metode er tatt i bruk. |
Custom Aspekter Implementering
Våren støtter @AspectJ kommentar stil og tilnærming skjema-baserte tilnærmingen for å implementere tilpassede sider. Disse to tilnærmingene har blitt forklart i detalj i de følgende avsnittene.
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. |