CGLib动态代理
来源:互联网 发布:指南针软件怎么注销 编辑:程序博客网 时间:2024/05/17 09:07
1.相关jar包
cglib-2.2.jar
cglib-nodep-2.2.jar
asm-3.3.1.jar
2.定义Hello接口
public interface Hello { void say(String name);}
3.Hello接口实现类
public class HelloImpl implements Hello{ @Override public void say(String name) { System.out.println("Hello"+name); }}
4.CGLib代理类
import java.lang.reflect.Method;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;public class CGLibProxy implements MethodInterceptor{ private static CGLibProxy instance = new CGLibProxy(); private CGLibProxy() {} public static CGLibProxy getInstance(){ return instance; } @SuppressWarnings("unchecked") public <T> T getProxy(Class<T> cls){ return (T) Enhancer.create(cls, this); } @Override public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable { before(); Object result = proxy.invokeSuper(obj, args); after(); return result; } private void before() { System.out.println("before"); } private void after() { System.out.println("after"); }}
5.main
public class Main { public static void main(String[] args) { Hello helloProxy = CGLibProxy.getInstance().getProxy(HelloImpl.class); helloProxy.say("ke"); }}
参考《架构探险 从零开始写Java Web框架》
阅读全文
0 0
- 动态代理-CGLib动态代理
- 初识CGLIB动态代理
- Cglib 动态代理
- CGLib 动态代理
- 动态代理-->cglib
- cglib动态代理介绍
- cglib动态代理
- CGLIB 动态代理。
- CGLIB动态代理
- CGLIB实现动态代理
- cglib 动态代理
- cglib动态代理模式
- cglib动态代理
- cglib动态代理
- CGLIB 动态代理
- cglib动态代理
- 动态代理CGLIB
- CGLIB动态代理应用
- 分享同事整理的 关于"iOS 无限monkey测试解决方案" 的记录
- 用python写入和查询mysql及注意事项
- C语言编程之递归求阶乘
- elastic job原理解析
- -元素出栈、入栈顺序的合法性。如:入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1),则合法。入栈的序列(1,2,3,4,5),出栈序列为(4,5,2,3,1),则不合法。
- CGLib动态代理
- mybatis-plugin is not activated yet解决办法
- javaweb服务器就收文件
- Spring Boot(二)
- Android之音乐播放器
- 一次与笨神,阿飞近距离接触修改JVM
- java连接ssh服务
- C++单例模式(懒汉/饿汉)
- 一个IcmpSendEcho发送内容为空引发的困惑