>  기사  >  Java  >  Java에서 프록시 클래스를 동적으로 생성하는 방법

Java에서 프록시 클래스를 동적으로 생성하는 방법

WBOY
WBOY앞으로
2023-04-27 18:46:071220검색

Instructions

1. 프록시 클래스 인스턴스를 얻으려면 Proxy 클래스의 newProxyInstance 메서드를 호출하세요.

2. 이 프록시 클래스는 지정된 인터페이스를 구현하고 지정된 호출 프로세서에 메서드 호출을 배포합니다.

메서드 선언

public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) throws IllegalArgumentException

Parameters

loader: 프록시 클래스의 ClassLoder 정의

인터페이스: 프록시 클래스에 의해 구현된 인터페이스 목록

h: 위에서 정의한 InvocationHandler 인터페이스를 구현하는 호출 프로세서 클래스 인스턴스

인스턴스

public class Main {
    public static void main(String[] args) {
        //创建中介类实例
        DynamicProxy inter = new DynamicProxy(new Vendor());
        //加上这句将会产生一个$Proxy0.class文件,这个文件即为动态生成的代理类文件
        System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles","true");
 
        //获取代理类实例sell
        Sell sell = (Sell)(Proxy.newProxyInstance(Sell.class.getClassLoader(), new Class[] {Sell.class}, inter));
 
        //通过代理类对象调用代理类方法,实际上会转到invoke方法调用
        sell.sell();
        sell.ad();
    }
}

위 내용은 Java에서 프록시 클래스를 동적으로 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제