Java web动态代理

代理

增强对象的功能

设计模式:一些通用的解决固定问题的方式

  • 装饰模式

  • 代理模式

    • 概念

      • 真实对象:被代理的对象
      • 代理对象
      • 代理模式:代理对象代理真实对象,达到增强真实对象功能过的目的
    • 实现方式

      • 静态代理:类文件描述代理模式
      • 动态代理在内存中形成代理类
        • 代理对象和真实对象实现相同的接口
        • Proxy.nowInstance();获取代理对象
        • 使用代理对象调用方法
        • 增强方法
          • 增强参数列表
          • 增强返回值类型
          • 增强方法体执行逻辑
    • 示例

      • HuaWei huaWei = new HuaWei();
        
                Phone phone = (Phone) Proxy.newProxyInstance(huaWei.getClass().getClassLoader(),
                        huaWei.getClass().getInterfaces(),
                        (proxy, method, args1) -> {
                            System.out.println("phone proxy");
                            System.out.println(method.getName());
                            Object invoke = method.invoke(huaWei,args1[0]);
                            return invoke;
                        });
                int i = phone.create(1000);
                System.out.println(i);
        
发布了70 篇原创文章 · 获赞 43 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_25884515/article/details/103993374