cglib 动态代理
来源:互联网 发布:阿里云个人免费套餐 编辑:程序博客网 时间:2024/05/22 07:50
cglib原理动态创建代理类的子类, 复制里面的方法实现方法的代理, 但是final 修是的类, 方法无法实现代理
package com.example.cglib;public class BookService{public void print() {System.out.println("thinking in java");}}
package com.example.cglib;import java.lang.reflect.Method;import org.assertj.core.internal.cglib.proxy.Enhancer;import org.assertj.core.internal.cglib.proxy.MethodInterceptor;import org.assertj.core.internal.cglib.proxy.MethodProxy;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class CglibProxy implements MethodInterceptor {private static final Logger logger = LoggerFactory.getLogger(CglibProxy.class);private Object target;public Object getProxyInstance(Object target){this.target = target;Enhancer enhance = new Enhancer();enhance.setSuperclass(target.getClass());enhance.setCallback(this);enhance.setClassLoader(this.getClass().getClassLoader());return enhance.create();}@Overridepublic Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {Object result = methodProxy.invokeSuper(proxy, args);//methodProxy.invoke(proxy, args);logger.info("target: "+ target.getClass().getName());return result;}public static void main(String[] args) {CglibProxy cglib = new CglibProxy();BookService service = (BookService) cglib.getProxyInstance(new BookService());service.print();}}
0 0
- 动态代理-CGLib动态代理
- 初识CGLIB动态代理
- Cglib 动态代理
- CGLib 动态代理
- 动态代理-->cglib
- cglib动态代理介绍
- cglib动态代理
- CGLIB 动态代理。
- CGLIB动态代理
- CGLIB实现动态代理
- cglib 动态代理
- cglib动态代理模式
- cglib动态代理
- cglib动态代理
- CGLIB 动态代理
- cglib动态代理
- 动态代理CGLIB
- CGLIB动态代理应用
- 机器人智能回复 智能聊天 朋友圈 加粉 采集ID
- numpy总结帖【json和txt的保存】
- Spark性能调优2-总结分享
- JYX梦——Android开发——博客之始
- Linux命令之exit介绍
- cglib 动态代理
- CSS background-position 背景定位的用法
- html表格中的tr td th用法
- Caffe编译过程
- 大小端存储问题
- Servlet 生命周期
- 个人笔记整理-java设计模式之策略模式
- 在Eclipse中使用JUnit4进行单元测试(初级篇)
- 在Eclipse中使用JUnit4进行单元测试(中级篇)