java cglib代理特性验证
来源:互联网 发布:长春知合动画 编辑:程序博客网 时间:2024/06/15 04:55
验证cglib 生成代理对象,能不能在方法内部调用的内部方法进行植入逻辑。
首先编写被代理类
package test;
public class Proxy {
public void a()
{
System.out.println("a");
b();
}
public void b()
{
System.out.println("b");
}
}
编写代理逻辑:
package test;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;
import java.lang.reflect.Method;
public class CglibProxy implements MethodInterceptor {
@Override
public Object intercept(Object o, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {
System.out.println(method.getName()+" start");
Object o1 = methodProxy.invokeSuper(o, args);
System.out.println(method.getName()+" end");
return o1;
}
}
验证代码:
package test;
import net.sf.cglib.proxy.Enhancer;
public class test2 {
public static void main(String[] args) {
CglibProxy cglibProxy = new CglibProxy();
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(Proxy.class);
enhancer.setCallback(cglibProxy);
Proxy o = (Proxy)enhancer.create();
o.a();
//o.getAge(1);
}
}
输出结果:
a start
a
b start
b
b end
a end
结论:cglib代理对象可以对内部方法进行植入逻辑
- java cglib代理特性验证
- java CGLIB代理
- 【Java】CGlib动态代理
- Java-CGLib动态代理
- CGLib动态代理 java
- java Proxy代理&cglib代理
- Java动态代理--cglib代理
- java动态代理proxy ,cglib
- Java 动态代理(JDK&CGLib)
- java cglib动态代理 实例
- java动态代理和cglib
- Java动态代理之CGLIB
- Java的CGLib动态代理
- java动态代理与cglib
- Java 动态代理和CGlib
- 【深入JAVA】cglib动态代理
- Java实现代理模式(CGLIB)
- Java动态代理--CGLib实现
- 垃圾收集器
- Inspector's Dilemma UVA
- NYOJ
- Minimum Moves to Equal Array Elements II
- 口头表达题
- java cglib代理特性验证
- target事件
- FastJson的配置和使用步骤
- jQuery源码初探(3)
- Maven入门
- 一些关于公司和技术的理解
- java UDP 同步socket
- gcc简单入门
- python 标准库 —— io(StringIO)