ilustrar
1. O agente Cglib pode ser chamado de agente de subclasse, que constrói objetos de subclasse na memória para estender a funcionalidade do objeto de destino.
Tanto os proxies estáticos quanto os proxies JDK requerem um objeto para implementar uma interface. Às vezes, o objeto proxy é apenas um único objeto e o proxy Cglib pode ser usado neste momento.
2. Cglib gera uma classe proxy por meio do Enhancer e implementa o método de interceptação implementando a interface MethodInterceptor.
Métodos de aprimoramento podem ser adicionados ao método e o método original pode ser chamado usando um método reflexivo ou uma classe herdada MethodProxy.
Exemplo
classe pública TVProxyCglib implementa MethodInterceptor { //Cria um objeto proxy para o objeto de destino public Object getProxyInstance(Class c){ //1. Classe de ferramenta Enhancer Enhancer = new Enhancer(); //2.Defina a classe pai booster.setSuperclass(c); //3.Defina a função de retorno de chamada Enhancer.setCallback(this); //4. Crie uma subclasse (objeto proxy) retornar intensificador.create(); } @Substituir interceptação de objeto público (Objeto o, método Método, objetos Object[], método MethodProxyProxy) lança Throwable { System.out.println("Aprimoramento TVProxyFactory...."); Objeto objeto = métodoProxy.invokeSuper(o, objetos); objeto de retorno; } }
O texto acima é o uso do agente Cglib em java, espero que seja útil para todos.
Mais guia de aprendizagem Java: tutorial java
O ambiente operacional deste tutorial: sistema Windows 7, versão Java 10, computador DELL G3.