Heim  >  Artikel  >  Java  >  Analyse zum Prinzip des dynamischen Proxys in Java

Analyse zum Prinzip des dynamischen Proxys in Java

黄舟
黄舟Original
2017-10-16 10:17:491901Durchsuche

Dieser Artikel stellt hauptsächlich relevante Informationen zur Analyse der dynamischen Proxy-Prinzipien von Java vor. Ich hoffe, dass dieser Artikel jedem helfen kann, die Prinzipien des dynamischen Proxys zu beherrschen Prinzip des dynamischen Proxys

Zusammenfassung

Die Abfangfunktion von AOP wird durch den dynamischen Proxy in Java implementiert. Um es ganz klar auszudrücken: Es geht darum, eine Aspektlogik basierend auf der Zielklasse hinzuzufügen, um eine erweiterte Zielklasse zu generieren (die Aspektlogik wird entweder vor der Ausführung der Zielklassenfunktion oder nach der Ausführung der Zielklassenfunktion oder wann ausgeführt). Die Zielklassenfunktion löst eine Ausnahme aus. Der dynamische Proxy wird mit Cglib implementiert.

Lassen Sie uns die dynamische Proxy-Implementierung im JDK schnell verstehen 🎜>Beispiel

Schnittstelle, die einen Proxy erfordert

Klasse, die einen Proxy erfordert


public interface IHello { 
public void sayHello(); 
}

Anrufprozessor-Implementierungsklasse


public class HelloImpl implements IHello { 
public void sayHello() { 
System.out.println(“Hello World…”); 
} 
}

Testklasseneintrag


public class ProxyHandler implements InvocationHandler { 
private Object target; 
public ProxyHandler(Object target) { 
this.target = target; 
} 
public Object proxyInstance() { 
return Proxy.newProxyInstance(target.getClass().getClassLoader(), 
target.getClass().getInterfaces(), this); 
} 
public Object invoke(Object proxy, Method method, Object[] args) 
throws Throwable { 
System.out.println(“aspect before … “); 
Object result = method.invoke(this.target, args); 
System.out.println(“aspect after … “); 
return result; 
} 
}

Proxy Quellcode-Analyse


public class Main { 
public static void main(String[] args) { 
ProxyHandler proxy = new ProxyHandler(new HelloImpl()); 
IHello hello = (IHello) proxy.proxyInstance(); 
hello.sayHello(); 
} 
}

Unbeteiligter Code weglassen


newProxyInstance() 方法

Das obige ist der detaillierte Inhalt vonAnalyse zum Prinzip des dynamischen Proxys in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn