En af de vigtigste komponenter i Foråret Rammer er det Aspekt orienteret programmering (AOP) rammer. Aspektorienteret programmering indebærer at nedbryde programlogik i forskellige dele kaldet såkaldte bekymringer. De funktioner, der spænder over flere punkter i en applikation, kaldes tværgående bekymringer, og disse tværgående bekymringer er konceptuelt adskilt fra applikationens forretningslogik., Der er forskellige fælles gode eksempler på aspekter som logning, revision, deklarative transaktioner, sikkerhed, caching osv.
den centrale enhed for modularitet i OOP er klassen, mens i AOP enheden for modularitet er aspektet. Afhængighedsinjektion hjælper dig med at afkoble dine applikationsobjekter fra hinanden, og AOP hjælper dig med at afkoble tværgående bekymringer fra de objekter, de påvirker. AOP er som triggere i programmeringssprog som Perl,. net, Java og andre.
Spring AOP modul giver interceptors at opfange et program., For eksempel, når en metode udføres, kan du tilføje ekstra funktionalitet før eller efter udførelsen af metoden.
AOP Terminologier
Før vi begynder at arbejde med AOP, lad os blive fortrolig med AOP begreber og terminologi. Disse udtryk er ikke specifikke for foråret, snarere er de relateret til AOP.
Sr. Ikke | Form & Beskrivelse |
---|---|
1 |
Aspekt Dette er et modul, som er et sæt af Api ‘ er der giver tværgående krav., For eksempel kaldes et logningsmodul AOP-aspekt til logning. En ansøgning kan have et vilkårligt antal aspekter afhængigt af kravet. |
2 |
Deltag punkt dette repræsenterer et punkt i din ansøgning, hvor du kan tilslutte AOP-aspektet. Du kan også sige, det er det faktiske sted i applikationen, hvor der vil blive truffet en handling ved hjælp af Spring AOP frame .ork. |
3 |
rådgivning Dette er den faktiske handling, der skal træffes enten før eller efter udførelsen af metoden., Dette er et faktisk stykke kode, der påberåbes under programudførelsen af Spring AOP frame .ork. |
4 |
Pointcut Dette er et sæt af et eller flere sammenføjningspunkter, hvor en rådgivning skal udføres. Du kan angive pointcuts ved hjælp af udtryk eller mønstre, som vi vil se i vores AOP eksempler. |
5 |
introduktion en introduktion giver dig mulighed for at tilføje nye metoder eller attributter til de eksisterende klasser. |
6 |
målobjekt objektet bliver rådgivet af et eller flere aspekter., Dette objekt vil altid være en pro .y objekt, også kaldet den anbefalede objekt. |
7 |
vævning vævning er processen med at forbinde aspekter med andre applikationstyper eller objekter for at oprette et rådgivet objekt. Dette kan gøres på kompileringstid, indlæsningstid eller ved kørsel. |
Typer af Rådgivning
Forår aspekter kan arbejde med fem typer af rådgivning, der er nævnt som følger −
Sr.,Ingen | Råd & Beskrivelse |
---|---|
1 |
før Kør rådgivning, før en metode udførelse. |
2 |
efter Kør rådgivning efter metoden udførelse, uanset resultatet. |
3 |
efter returnering Kør kun rådgivning efter udførelse af A-metode, hvis metoden er fuldført. |
4 |
efterkast Kør kun rådgivning efter udførelse af en metode, hvis metoden afslutter ved at kaste en undtagelse., |
5 |
omkring Kør råd før og efter den anbefalede metode påberåbes. |
implementering af brugerdefinerede aspekter
Spring understøtter @AspectJ annotationsstil tilgang og den skemabaserede tilgang til implementering af brugerdefinerede aspekter. Disse to fremgangsmåder er blevet forklaret detaljeret i de følgende afsnit.
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. |