..
Avant de s'installer à voir comment vous créez avec leurs pointcuts aspect et de conseils, il est très important de comprendre comment les procurations.
Un proxy est rien de plus qu'un wrapper (conteneur) qui contient un objet et expose tous les objets publics medodi.
Lorsque vous appelez une méthode sur le proxy de la mise en œuvre effective de la méthode est déléguée à l'Enveloppez objet, rendant ainsi la présence du proxy totalement transparent pour l'utilisateur.
Le proxy utilise Spring AOP de mettre en œuvre que les méthodes simple délégué traitent également des conseils de gestion différents.
Nous comprenons comment fonctionne un proxy en œuvre très simple. D'abord nous créons une interface simple:
{Public interface SimpleInterface
public void f1 ();
public void f2 ();
}
nous créons même une simple mise en œuvre:
SimplePojo {public class SimpleInterface
@ Override
public void f1 () {
System.out.println ("F1");
f2 ();
}
@ Override
public void f2 () {
System.out.println ("F2");
}
}
Nous notons que la méthode de f1 () effectue un appel à f2 ().
Nous allons maintenant créer le proxy, comme déjà dit, nous devons créer un conteneur d'un objet et d'exposer l'ensemble de ses méthodes, puis le proxy mettra en œuvre l'interface et ensuite déléguer SimpleInterface tous les appels de méthode à l'objet réel:
Simpleproxy {public class SimpleInterface
Privé SimpleInterface délégués;
publique simpleproxy (SimpleInterface délégué) {
super ();
this.delegate = délégué;
}
@ Override
public void f1 () {
System.out.println ("Déléguer F1 ()");
delegate.f1 ();
}
@ Override
public void f2 () {
System.out.println ("Déléguer F2 ()");
delegate.f2 ();
}
}
Dans notre exemple simple, le proxy ne soit imprimer un message qui dit que délègue l'appel.
Nous créons maintenant un test principal pour voir comment notre proxy:
public class Principal {
public static void main (String [] args) {
/ / Créer une instance de la fève
SimpleInterface realBean SimplePojo = new ();
System.out.println ("##### haricots #####");
realBean.f1 ();
System.out.println ();
realBean.f2 ();
System.out.println ();
/ / Création d'une instance du proxy
SimpleInterface simpleproxy proxy = new (nouveau SimplePojo ());
System.out.println ("##### proxy #####");
proxy.f1 ();
System.out.println ();
proxy.f2 ();
}
}
Le premier bloc de code donne le résultat suivant:
##### ##### Bean F1 F2 F2Maintenant, on s'attendrait à ce que la sortie du second bloc est le suivant:
##### ##### Proxy Déléguer F1 () F1 Déléguer F2 () F2 Déléguer F2 () F2Invce pas! La sortie se fera comme suit:
##### ##### Proxy Déléguer F1 () F1 F2 Déléguer F2 () F2Comme nous pouvons voir l'appel que la méthode de f1 () est la méthode de f2 () ne passe pas par le proxy, car une fois que vous avez délégué l'exécution de la méthode à l'objet réel tous les appels internes ne seront pas interceptés par procuration.

| |
Linux (Cours)
Guide complet de système open-source. A partir de 49 €. |
| |
PHP (cours)
Cours complet pour la création de sites Web dynamiques. A partir de 49 €. |
| |
Ruby et Ruby on Rails (Cours)
Créer des applications logicielles et Web avec Ruby et RoR. A partir de 39 €. |