Heim > Java > javaLernprogramm > So verwenden Sie den Cglib-Proxy in Java

So verwenden Sie den Cglib-Proxy in Java

王林
Freigeben: 2023-04-30 18:04:07
nach vorne
1667 Leute haben es durchsucht

Erklärung

1. Der Cglib-Proxy kann als Unterklassen-Proxy bezeichnet werden, der Unterklassenobjekte im Speicher erstellt, um die Funktionalität des Zielobjekts zu erweitern.

Sowohl statische Proxys als auch JDK-Proxys benötigen ein Objekt, um eine Schnittstelle zu implementieren. Manchmal ist das Proxy-Objekt nur ein einzelnes Objekt, und zu diesem Zeitpunkt kann der Cglib-Proxy verwendet werden.

2. Cglib generiert eine Proxy-Klasse über Enhancer und implementiert die Intercept-Methode durch Implementierung der MethodInterceptor-Schnittstelle.

Erweiterte Methoden können der Methode hinzugefügt werden und Originalmethoden können mithilfe der geerbten Klassen „reflective Method“ oder „MethodProxy“ aufgerufen werden.

Instanzen

public class TVProxyCglib implements MethodInterceptor {
 
    //给目标对象创建一个代理对象
    public Object getProxyInstance(Class c){
        //1.工具类
        Enhancer enhancer = new Enhancer();
        //2.设置父类
        enhancer.setSuperclass(c);
        //3.设置回调函数
        enhancer.setCallback(this);
        //4.创建子类(代理对象)
        return enhancer.create();
    }
 
    @Override
    public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {
        System.out.println("TVProxyFactory enhancement.....");
        Object object = methodProxy.invokeSuper(o, objects);
        return object;
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo verwenden Sie den Cglib-Proxy 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