ilustrar
1. El agente Cglib puede denominarse agente de subclase, que construye objetos de subclase en la memoria para ampliar la funcionalidad del objeto de destino.
Tanto los proxies estáticos como los proxies JDK requieren un objeto para implementar una interfaz. A veces, el objeto proxy es solo un objeto y en este momento se puede utilizar el proxy Cglib.
2. Cglib genera una clase de proxy a través de Enhancer e implementa el método de intercepción implementando la interfaz MethodInterceptor.
Se pueden agregar métodos de mejora al método y se puede llamar al método original usando un método reflectante o una clase heredada MethodProxy.
Ejemplo
La clase pública TVProxyCglib implementa MethodInterceptor { //Crea un objeto proxy para el objeto de destino public Object getProxyInstance(Class c){ //1. Clase de herramienta Potenciador potenciador = nuevo Potenciador(); //2.Establecer la clase principal potenciador.setSuperclass(c); //3.Establecer la función de devolución de llamada Enhancer.setCallback(this); //4.Crea una subclase (objeto proxy) return potenciador.create(); } @Anular intercepción de objeto público (Objeto o, método de método, objeto [] objetos, método MethodProxyProxy) lanza Throwable { System.out.println("Mejora de TVProxyFactory..."); Objeto objeto = métodoProxy.invokeSuper(o, objetos); objeto de retorno; } }
Lo anterior es el uso del agente Cglib en Java, espero que sea útil para todos.
Más guía de aprendizaje de Java: tutorial de java
El entorno operativo de este tutorial: sistema Windows 7, versión Java 10, computadora DELL G3.