Uno dei componenti chiave del Framework Spring è la programmazione orientata agli aspetti (AOP) quadro. La programmazione orientata agli aspetti comporta la suddivisione della logica del programma in parti distinte chiamate cosiddette preoccupazioni. Le funzioni che si estendono su più punti di un’applicazione sono chiamate preoccupazioni trasversali e queste preoccupazioni trasversali sono concettualmente separate dalla logica di business dell’applicazione., Esistono vari buoni esempi comuni di aspetti come la registrazione, il controllo, le transazioni dichiarative, la sicurezza, il caching, ecc.
L’unità chiave di modularità in OOP è la classe, mentre in AOP l’unità di modularità è l’aspetto. L’iniezione di dipendenza consente di disaccoppiare gli oggetti dell’applicazione l’uno dall’altro e AOP consente di disaccoppiare le preoccupazioni trasversali dagli oggetti che influenzano. AOP è come trigger in linguaggi di programmazione come Perl,. NET, Java e altri.
Il modulo Spring AOP fornisce intercettori per intercettare un’applicazione., Ad esempio, quando viene eseguito un metodo, è possibile aggiungere funzionalità aggiuntive prima o dopo l’esecuzione del metodo.
Terminologie AOP
Prima di iniziare a lavorare con AOP, acquisiamo familiarità con i concetti e la terminologia AOP. Questi termini non sono specifici per la primavera, piuttosto sono legati a AOP.
Sr. No | Termini e condizioni & Descrizione |
---|---|
1 |
Aspetto Questo è un modulo che ha un set di Api che fornisce trasversali requisiti., Ad esempio, un modulo di registrazione sarebbe chiamato aspetto AOP per la registrazione. Un’applicazione può avere un numero qualsiasi di aspetti a seconda del requisito. |
2 |
Join point Questo rappresenta un punto nell’applicazione in cui è possibile collegare l’aspetto AOP. Si può anche dire, è il luogo effettivo nell’applicazione in cui verrà eseguita un’azione utilizzando Spring AOP framework. |
3 |
Consiglio Questa è l’azione effettiva da intraprendere prima o dopo l’esecuzione del metodo., Questo è un pezzo effettivo di codice che viene invocato durante l’esecuzione del programma da Spring AOP framework. |
4 |
Pointcut Questo è un insieme di uno o più join point in cui deve essere eseguito un consiglio. È possibile specificare pointcuts utilizzando espressioni o modelli come vedremo nei nostri esempi AOP. |
5 |
Introduzione Un’introduzione consente di aggiungere nuovi metodi o attributi alle classi esistenti. |
6 |
Oggetto di destinazione L’oggetto consigliato da uno o più aspetti., Questo oggetto sarà sempre un oggetto proxy, indicato anche come oggetto consigliato. |
7 |
Tessitura Tessitura è il processo di collegamento di aspetti con altri tipi di applicazione o oggetti per creare un oggetto consigliato. Questo può essere fatto in fase di compilazione, tempo di caricamento o in fase di runtime. |
Tipi di Consigli
Primavera aspetti può lavorare con cinque tipi di consigli menzionati come segue:
Sr.,No | Consiglio& Descrizione |
---|---|
1 |
prima di Eseguire consigli prima dell’esecuzione del metodo a. |
2 |
dopo Esegui il consiglio dopo l’esecuzione del metodo, indipendentemente dal suo esito. |
3 |
dopo il ritorno Esegui il consiglio dopo l’esecuzione del metodo a solo se il metodo viene completato correttamente. |
4 |
dopo il lancio Esegui il consiglio dopo l’esecuzione del metodo a solo se il metodo esce lanciando un’eccezione., |
5 |
intorno a Esegui consigli prima e dopo che il metodo consigliato viene richiamato. |
Implementazione di aspetti personalizzati
Spring supporta l’approccio @AspectJ annotation style e l’approccio basato su schema per implementare aspetti personalizzati. Questi due approcci sono stati illustrati in dettaglio nelle sezioni seguenti.
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. |