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

Analyse zum Prinzip des dynamischen Proxys in Java

黄舟
Freigeben: 2017-10-16 10:17:49
Original
1928 Leute haben es durchsucht

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(); 
}
Nach dem Login kopieren

Anrufprozessor-Implementierungsklasse


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

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; 
} 
}
Nach dem Login kopieren

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(); 
} 
}
Nach dem Login kopieren

Unbeteiligter Code weglassen


newProxyInstance() 方法
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage