en av de viktigaste komponenterna i Spring Framework är Aspect oriented programming (AOP) framework. Aspektorienterad programmering innebär att bryta ner programlogiken i olika delar som kallas så kallade problem. De funktioner som spänner över flera punkter i en ansökan kallas övergripande problem och dessa övergripande problem är begreppsmässigt skilda från programmets affärslogik., Det finns olika vanliga bra exempel på aspekter som loggning, revision, deklarativa transaktioner, säkerhet, caching, etc.
huvudenheten för modularitet i OOP är klassen, medan i AOP är moduleringsenheten aspekten. Dependency Injection hjälper dig att frikoppla dina applikationsobjekt från varandra och AOP hjälper dig att frikoppla tvärskärningsproblem från de objekt som de påverkar. AOP är som utlösare i programmeringsspråk som Perl,. Net, Java och andra.
Spring AOP modul ger interceptors att avlyssna ett program., När en metod exekveras kan du till exempel lägga till extra funktionalitet före eller efter metodutförandet.
AOP-terminologier
innan vi börjar arbeta med AOP, låt oss bekanta oss med AOP-begreppen och terminologin. Dessa villkor är inte specifika för våren, utan de är relaterade till AOP.
Sr.No | villkor& beskrivning |
---|---|
1 |
aspekt detta är en modul som har en uppsättning API: er som tillhandahåller tvärskärningskrav., Till exempel skulle en loggningsmodul kallas AOP aspekt för loggning. En ansökan kan ha valfritt antal aspekter beroende på kravet. |
2 |
gå med punkt detta representerar en punkt i din ansökan där du kan koppla in AOP-aspekten. Du kan också säga, det är den faktiska platsen i ansökan där en åtgärd kommer att vidtas med hjälp av vår AOP ram. |
3 |
råd det här är den faktiska åtgärden som ska vidtas antingen före eller efter metodutförandet., Detta är en verklig bit kod som åberopas under Program exekvering av Spring AOP framework. |
4 |
Pointcut det här är en uppsättning av en eller flera anslutningspunkter där ett råd ska utföras. Du kan ange pointcuts med uttryck eller mönster som vi kommer att se i våra AOP exempel. |
5 |
introduktion en introduktion låter dig lägga till nya metoder eller attribut till de befintliga klasserna. |
6 |
målobjekt objektet rekommenderas av en eller flera aspekter., Det här objektet kommer alltid att vara ett proxierat objekt, även kallat det rekommenderade objektet. |
7 |
vävning vävning är processen att länka aspekter med andra applikationstyper eller objekt för att skapa ett rekommenderat objekt. Detta kan göras vid kompileringstid, laddningstid eller vid körning. |
typer av råd
Spring aspekter kan arbeta med fem typer av råd som nämns enligt följande −
Sr.,Nej | råd& beskrivning |
---|---|
1 |
innan kör råd innan en metodutförande. |
2 |
efter kör råd efter metodutförandet, oavsett resultatet. |
3 |
efter-återvändande kör råd efter en metod utförande endast om metoden avslutas framgångsrikt. |
4 |
efterkastning kör råd efter en metod utförande endast om metoden avslutas genom att kasta ett undantag., |
5 |
runt kör råd före och efter den rekommenderade metoden åberopas. |
implementering av anpassade aspekter
Spring stöder @AspectJ-annotationsstilen och den schemabaserade metoden för att implementera anpassade aspekter. Dessa två tillvägagångssätt har förklarats i detalj i följande avsnitt.
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. |