动态代理
1、特点:无侵入式的给代码增加额外的功能
2、程序为什么需要代理?代理长什么样子?
对象如果嫌身上干的事太多,可以通过代理来转移部分职责。
对象有什么方法想被代理,代理就一定有对应的方法。代理里面就是对象要被代理的方法。
中介如何知道要派有唱歌、跳舞方法的代理呢?
通过接口知道
Java通过接口保证代理的样子,后面的对象和代理需要实现同一个接口,接口中就是被代理的所有方法。
如下图所示:
3、动态代理的实现
参数一:类加载器为当前代理类的加载器,如当前代理类为ProxyUtil,则类加载器为ProxyUtil.class.getClassLoader()
参数二:如果要代理多个接口的方法,则把接口都放在数组中
例子:
动态代理过程如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗