Heim > Java > javaLernprogramm > Hauptteil

So generieren Sie dynamisch Proxy-Klassen in Java

WBOY
Freigeben: 2023-04-27 18:46:07
nach vorne
1229 Leute haben es durchsucht

Anweisungen

1. Rufen Sie die newProxyInstance-Methode der Proxy-Klasse auf, um die Proxy-Klasseninstanz zu erhalten.

2. Diese Proxy-Klasse implementiert die angegebene Schnittstelle und verteilt Methodenaufrufe an den angegebenen Aufrufprozessor.

Methodendeklaration

public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) throws IllegalArgumentException
Nach dem Login kopieren

Parameter

Loader: definiert den ClassLoder der Proxy-Klasse

Schnittstellen: Liste der von der Proxy-Klasse implementierten Schnittstellen

h: Aufrufprozessor, der die oben definierte InvocationHandler-Schnittstelle implementiert Klasseninstanz

Instanz

public class Main {
    public static void main(String[] args) {
        //创建中介类实例
        DynamicProxy inter = new DynamicProxy(new Vendor());
        //加上这句将会产生一个$Proxy0.class文件,这个文件即为动态生成的代理类文件
        System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles","true");
 
        //获取代理类实例sell
        Sell sell = (Sell)(Proxy.newProxyInstance(Sell.class.getClassLoader(), new Class[] {Sell.class}, inter));
 
        //通过代理类对象调用代理类方法,实际上会转到invoke方法调用
        sell.sell();
        sell.ad();
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo generieren Sie dynamisch Proxy-Klassen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
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