Heim  >  Artikel  >  Java  >  So generieren Sie dynamisch Proxy-Klassen in Java

So generieren Sie dynamisch Proxy-Klassen in Java

WBOY
WBOYnach vorne
2023-04-27 18:46:071219Durchsuche

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

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();
    }
}

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen