美文网首页
java jdk动态代理简单使用

java jdk动态代理简单使用

作者: 逐影随行 | 来源:发表于2021-11-18 22:18 被阅读0次

java动态代理机制中有两个重要的类和接口InvocationHandler(接口)和Proxy(类),这一个类Proxy和接口InvocationHandler是我们实现动态代理的核心

package com.hxj.algorithm;

import com.alibaba.fastjson.JSON;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class ProxyDemo {

    public interface Car {
        void drive();
    }

    public class Benz implements Car {
        @Override
        public void drive() {
            System.out.println("let is go");
        }
    }

    public class CarHandler implements InvocationHandler {
        private Object object;

        public CarHandler(Object ob) {
            this.object = ob;
        }

        @Override
        public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
            System.out.println("parms=" + JSON.toJSONString(args));
            Object invoke = method.invoke(object, args);
            return invoke;
        }
    }

    public static void main(String[] args) {
        Car benz = new ProxyDemo().new Benz();
        CarHandler carHandler = new ProxyDemo().new CarHandler(benz);
        Car carProxy = (Car) Proxy.newProxyInstance(
                Thread.currentThread().getContextClassLoader(),
                benz.getClass().getInterfaces(),
                carHandler
        );
        carProxy.drive();
    }
}

相关文章

  • Jdk动态代理 底层源码分析

    前言 java动态代理主要有2种,Jdk动态代理、Cglib动态代理,本文主要讲解Jdk动态代理的使用、运行机制、...

  • java jdk动态代理简单使用

    java动态代理机制中有两个重要的类和接口InvocationHandler(接口)和Proxy(类),这一个类P...

  • 关于Java动态代理你知道多少?

    JDK version: 1.8 动态代理中所说的“动态”, 是针对使用Java代码实际编写了代理类的“静态”代理...

  • 动态代理的两种方式

    静态代理就不说了,基本用到的都是动态代理。 Java中动态代理有JDK动态代理和CGLIB动态代理。 JDK代理的...

  • Java 动态代理

    java的动态代理机制详解 JDK动态代理详解 Java核心技术点之动态代理

  • 浅析设计模式-代理模式

    定义 简单设计 Java 的实现3.1. 静态代理3.2. JDK 动态代理3.3. CGLIB 动态代理 应用实...

  • Java动态代理从入门到原理再到实战

    目录 前言 什么是动态代理,和静态代理有什么区别 Java动态代理的简单使用 Java动态代理的原理解读 动态代理...

  • AOP之动态代理

    一.JDK动态代理 使用java.lang.reflect.Proxy动态代理实现,即提取目标对象的接口,然后对接...

  • Java动态代理

    参考来源: Java动态代理视频 JDK动态代理实现原理 JDK Dynamic Proxies Building...

  • JDK动态代理详解

    JDK动态代理详解 java动态代理类 Java动态代理类位于java.lang.reflect包下,一般主要涉及...

网友评论

      本文标题:java jdk动态代理简单使用

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