..
Vor seinem Wechsel zu sehen, wie Sie mit ihrem Aspekt Pointcuts und Beratung schaffen, ist es sehr wichtig, wie die Proxys zu verstehen.
Ein Proxy ist nichts anderes als ein Wrapper (Container), die ein Objekt enthält, und macht alle öffentlichen medodi Objekt.
Wenn Sie eine Methode aufrufen, auf dem Proxy die tatsächliche Umsetzung der Methode ist, um das Objekt Wrap delegiert, wodurch die Anwesenheit der Proxy völlig transparent für den Benutzer.
Der Proxy verwendet Spring AOP zu implementieren als die einfachen Delegierten Methoden befassen sich auch mit verschiedenen Management-Beratung.
Wir verstehen, wie funktioniert ein Proxy eine sehr einfache Implementierung. Zuerst erstellen wir eine einfache Schnittstelle:
{Public interface SimpleInterface
public void f1 ();
public void f2 ();
}
schaffen wir auch eine einfache Implementierung:
SimplePojo {public-Klasse implementiert SimpleInterface
@ Override
public void f1 () {
System.out.println ("F1");
f2 ();
}
@ Override
public void f2 () {
System.out.println ("F2");
}
}
Wir nehmen zur Kenntnis, dass die Methode f1 () einen Aufruf an f2 () macht.
Nun erstellen Sie den Proxy, wie schon gesagt, wir müssen auf einen Container eines Objekts erstellen und setzen alle ihre Methoden, dann kann der Proxy die Schnittstelle implementieren und dann delegieren SimpleInterface alle Methodenaufrufe an das reale Objekt:
Simpleproxy {public-Klasse implementiert SimpleInterface
Privat SimpleInterface delegiert;
öffentlichen simpleproxy (SimpleInterface Delegierter) {
super ();
this.delegate = delegieren;
}
@ Override
public void f1 () {
System.out.println ("Delegieren F1 ()");
delegate.f1 ();
}
@ Override
public void f2 () {
System.out.println ("Delegieren F2 ()");
delegate.f2 ();
}
}
In unserem einfachen Beispiel ist der Proxy eine Meldung, dass sich die Übertragung der Ruf sagt.
Wir schaffen jetzt eine Hauptprüfung an, wie unsere Proxy finden Sie unter:
public class main {
public static void main (String [] args) {
/ / Erstellen Sie eine Instanz der Bohne
SimpleInterface realBean SimplePojo = new ();
System.out.println ("##### Bohne #####");
realBean.f1 ();
System.out.println ();
realBean.f2 ();
System.out.println ();
/ / Erstellen Sie eine Instanz des Proxy-
SimpleInterface simpleproxy proxy = new (neue SimplePojo ());
System.out.println ("##### Proxy #####");
proxy.f1 ();
System.out.println ();
proxy.f2 ();
}
}
Der erste Block des Codes gibt die folgende Ausgabe:
##### Bean ##### F1 F2 F2Nun würde man erwarten, dass der Ausgang des zweiten Blocks der folgenden:
##### ##### Proxy Delegieren F1 () F1 Delegieren F2 () F2 Delegieren F2 () F2Invce nicht! Die Ausgabe sieht wie folgt aus:
##### ##### Proxy Delegieren F1 () F1 F2 Delegieren F2 () F2Als wir den Anruf, dass die Methode f1 () ist kann man die Methode f2 () nicht über den Proxy passieren, denn wenn man die Ausführung der Methode auf das eigentliche Objekt delegiert haben alle internen Gespräche nicht abgehört werden durch einen Bevollmächtigten.

| |
Linux (Kurs)
Ein vollständiger Reiseführer von Open-Source-System. Von 49 €. |
| |
PHP (Kurs)
Vollständige natürlich für die Erstellung dynamischer Websites. Von 49 €. |
| |
Ruby und Ruby on Rails (Kurs)
Neues Software-und Web-Anwendungen mit Ruby und RoR. Von 39 €. |