美文网首页
【Java】【反射】动态代理

【Java】【反射】动态代理

作者: JerichoPH | 来源:发表于2017-04-08 09:09 被阅读18次

动态代理

public class Test {
    public static void main(String[] args) {
        StudentImp si = new StudentImp();
        si.login();
        si.submit();
    
        System.out.println("-------------------------------");
        MyInvocationHandler m = new MyInvocationHandler(si);
        Student s = (Student) Proxy.newProxyInstance(si.getClass().getClassLoader(), si.getClass().getInterfaces(), m);
    
        s.login();
        s.submit();
    }
}

class MyInvocationHandler implements InvocationHandler {
    private Object target;
    
    public MyInvocationHandler(Object target) {
        this.target = target;
    }
    
    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        System.out.println("权限检查");
        method.invoke(target, args);
        System.out.println("写入日志");
        return null;
    }
}

class StudentImp implements Student {
    @Override
    public void login() {
        System.out.println("登陆");
    }
    
    @Override
    public void submit() {
        System.out.println("提交");
    }
}

interface Student {
    public void login();
    
    public void submit();
}

相关文章

  • Java基础:反射

    反射注解动态代理相关阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 ...

  • 安卓反射和动态代理的应用

    提纲 java反射基础 反射在Android中的应用 Java动态代理 动态代理在Android的应用 java反...

  • 一文带你搞懂Java反射和动态代理

    分享 Java反射和动态代理

  • Java 动态代理

    前言 关于动态代理 JDK动态代理 CGLIB动态代理 区别 java动态代理是利用反射机制生成一个实现代理接口的...

  • Java反射机制详解(二)

    本篇文章继续介绍Java反射机制,不同的是侧重于介绍动态代理。动态代理是代理模式中的一种,是通过Java反射机制来...

  • Java反射机制总结(二)

    本篇文章继续介绍Java反射机制,不同的是侧重于介绍动态代理。动态代理是代理模式中的一种,是通过Java反射机制来...

  • 快速上手 Kotlin 开发系列之动态代理

    本节介绍 Kotlin 中没有反射的动态代理。 Java 中的动态代理 在讲 Kotlin 的动态代理之前先简单回...

  • 2021校招 复习总结

    笔记导航: JAVA: 泛型 反射和动态代理 注解 JAVA多线程 ReentrantLock,Volatile,...

  • Java动态代理

    1、什么是动态代理 动态代理利用Java的反射技术(Java Reflection)生成字节码,在运行时创建一个实...

  • Spring笔记

    1.Spring用到的动态代理分为java动态代理和CGILB动态代理,相同点是都是通过反射机制创建运行时被代理类...

网友评论

      本文标题:【Java】【反射】动态代理

      本文链接:https://www.haomeiwen.com/subject/txqlattx.html