当前位置: 首页 > article >正文

java基础 | 动态代理

动态代理

简而言之就是:首先创建一套动态代理的规则,创建好自己的接口,和实现类,在调用时直接调用(缺少什么参数,补充哪个参数!)

实现步骤:

  1. 设计动态代理的规则(实现**InvocationHandler**接口,重写invoke方法)

    1. 定义一个有参构造方法,用于接收要执行 的方法(对象)
    2. 执行真实的业务场景使用method.invoked(“哪个对象方法”,arges)
    3. method.invoked()的前后补充需要的扩展项目

    image-20240910160648383

  2. 定义真实的接口(userService)

image-20240910160810287

  1. 定义接口的实现类,实现之后直接重写方法。

image-20240910160830053

  1. 测试类中,创建动态代理(类加载器,接口数组,刚刚创建的动态代理执行逻辑)

image-20240910161151821

静态代理

简而言之就是:创建一个接口,创建一个实际的接口实现类,在里面实现具体的方法,创建一个代理的实现类,在里面(创建实际的实现类对象之后)调用实际的业务,然后再上下加上自己需要的拓展公共逻辑。

  1. 创建一个接口,定义实现的方法

image-20240910162113415

  1. 写一个实现类,进行实现这个接口
image-20240910162452713
  1. 代理对象继续实现接口image-20240910163447456

http://www.kler.cn/a/299069.html

相关文章:

  • day11|150,239,347
  • wireshark初认识
  • 【使用MCP协议连接本地和远程数据——以Claude的Windows客户端为例】
  • PostgreSQL技术内幕21:SysLogger日志收集器的工作原理
  • [python SQLAlchemy数据库操作入门]-02.交易数据实体类建立
  • 电子应用设计方案-63:智能升降茶几系统方案设计
  • 力推高阶智驾普及:埃安再放大招
  • OS 模块常用方法
  • Deploying Spring Boot Apps Tips
  • Java面试题精选:分布式(一)
  • Vue3+setup实现父子组件单表增删改查写法模板
  • 828华为云征文|华为云Flexus X实例docker部署mediacms,功能齐全的现代化开源视频和媒体CMS
  • axure判断
  • k8s HPA
  • 进程查看和计划任务
  • web渗透:RCE漏洞
  • k8s防火墙networkPolicy,的核心是“自己”
  • 苹果首款AI手机发布!iPhone 16全新AI功能体验感拉满
  • Unity报错:error CS8805: Program using top-level statements must be an executable.
  • Guitar Pro 8.2中文解锁版下载及2024最新图文安装教程
  • (Java企业 / 公司项目)点赞业务系统设计与完成
  • 智能优化算法-樽海鞘优化算法(SSA)(附源码)
  • Qt绘图之平移、旋转、缩放
  • Flex布局最后一行元素的对齐的解决方案
  • 《华为 eNSP 模拟器安装教程》
  • Spring Boot详解