zoukankan      html  css  js  c++  java
  • 2021-4-8 日报博客

    个人博客

    1.学到的东西

    1.5 JDK 的动态代理

    ①目标类接口

    public interface TargetInterface {
       public void method();
    }
    

    ②目标类

    public class Target implements TargetInterface {
        @Override
        public void method() {
            System.out.println("Target running....");
        }
    }
    

    ③动态代理代码

    Target target = new Target(); //创建目标对象
    //创建代理对象
    TargetInterface proxy = (TargetInterface) Proxy.newProxyInstance(target.getClass()
    .getClassLoader(),target.getClass().getInterfaces(),new InvocationHandler() {
                @Override
                public Object invoke(Object proxy, Method method, Object[] args) 
                throws Throwable {
                    System.out.println("前置增强代码...");
                    Object invoke = method.invoke(target, args);
                    System.out.println("后置增强代码...");
                    return invoke;
                }
            }
    );
    

    ④ 调用代理对象的方法测试

    // 测试,当调用接口的任何方法时,代理对象的代码都无序修改
    proxy.method();
    

    2.明日计划

    学习 cglib 的动态代理。

    3.遇到的问题

  • 相关阅读:
    接口测试总结
    Jmeter教程索引贴
    [转] 配置Log4j
    Jmeter报告优化之New XSL stylesheet
    Jmeter默认报告优化
    iOS 自动移除KVO观察者
    iPhone X 适配 ( iOS 11适配 )
    iOS中自动登录的设计
    iOS APP 安全测试
    APP安全测评checklist---Android
  • 原文地址:https://www.cnblogs.com/gongyunlong-blogs/p/14912134.html
Copyright © 2011-2022 走看看