AOP avec Spring Framework

Annonces

l’Un des principaux composants du Framework Spring est la programmation orientée Aspects (AOP) cadre. La programmation orientée Aspect implique de décomposer la logique du programme en parties distinctes appelées soi-disant préoccupations. Les fonctions qui couvrent plusieurs points d’une application sont appelées préoccupations transversales et ces préoccupations transversales sont conceptuellement distinctes de la logique métier de l’application., Il existe divers exemples de bien communs d’aspects tels que la journalisation, l’audit, les transactions déclaratives, la sécurité, la mise en cache, etc.

l’unité clé de modularité dans OOP est la classe, tandis que dans AOP l’Unité de modularité est l’aspect. L’Injection de dépendance vous aide à découpler vos objets d’application les uns des autres et AOP vous aide à découpler les préoccupations transversales des objets qu’ils affectent. AOP est comme les déclencheurs dans les langages de programmation tels que Perl,. net, Java et autres.

Spring AOP module fournit des intercepteurs pour intercepter une application., Par exemple, lorsqu’une méthode est exécutée, vous pouvez ajouter des fonctionnalités supplémentaires avant ou après l’exécution de la méthode.

Terminologies AOP

avant de commencer à travailler avec AOP, familiarisons-nous avec les concepts et la terminologie AOP. Ces termes ne sont pas spécifiques au printemps, ils sont plutôt liés à AOP.

Sr No Conditions & Description
1

Format

C’est un module qui a un ensemble d’Api fournissant transversales exigences., Par exemple, un module de journalisation serait appelé aspect AOP pour la journalisation. Une application peut avoir un certain nombre d’aspects en fonction de l’exigence.

2

Rejoignez le point

Cela représente un point dans votre application où vous pouvez plug-in de l’AOP aspect. Vous pouvez également dire que c’est l’endroit réel dans l’application où une action sera prise en utilisant Spring AOP framework.

3

Conseils

C’est l’action réelle qui peut être pris avant ou après l’exécution de la méthode., Il s’agit d’un morceau de code réel qui est invoqué lors de l’exécution du programme par Spring AOP framework.

4

coupe transverse (pointcut)

C’est un ensemble d’un ou de plusieurs rejoindre les points où un avis doit être exécutée. Vous pouvez spécifier des pointcuts en utilisant des expressions ou des modèles comme nous le verrons dans nos exemples AOP.

5

Introduction

Une introduction permet d’ajouter de nouvelles méthodes ou d’attributs de classes existantes.

6

objet Cible

L’objet étant conseillé par un ou plusieurs aspects., Cet objet sera toujours un objet proxy, également appelé objet conseillé.

7

le Tissage

le Tissage est le procédé de mise en relation avec d’autres types d’application ou d’objets pour créer un conseillé de l’objet. Cela peut être fait au moment de la compilation, au moment du chargement ou à l’exécution.

Types de Conseils

le Printemps aspects peuvent travailler avec cinq sortes de conseils mentionnés comme suit −

Sr.,Aucun Conseils & Description
1

avant

Exécuter conseils avant de la l’exécution de la méthode.

2

après

Exécuter conseils après l’exécution de la méthode, quel que soit son résultat.

3

après le retour

Exécuter conseils après la méthode de l’exécution que si la méthode se termine avec succès.

4

Après avoir lancé

exécutez des conseils après l’exécution d’une méthode uniquement si la méthode se termine en lançant une exception.,

5

autour de

Exécuter conseils avant et après le conseillé de la méthode est invoquée.

implémentation des Aspects personnalisés

Spring prend en charge l’approche de style d’annotation @AspectJ et l’approche basée sur un schéma pour implémenter les aspects personnalisés. Ces deux approches ont été expliquées en détail dans les sections suivantes.

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.

Advertisements

Share

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *