Javaでプロキシクラスを動的に生成する方法

WBOY
リリース: 2023-04-27 18:46:07
転載
1159 人が閲覧しました

手順

1. Proxy クラスの newProxyInstance メソッドを呼び出して、プロキシ クラスのインスタンスを取得します。

2. このプロキシ クラスは、指定されたインターフェイスを実装し、メソッド呼び出しを指定された呼び出しプロセッサに分散します。

メソッド宣言

public static Object newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h) throws IllegalArgumentException
ログイン後にコピー

パラメータ

loader: プロキシ クラスを定義する ClassLoder

interfaces:プロキシ クラスによって実装されたインターフェイスのリスト

h: 呼び出しプロセッサ。これは、InvocationHandler インターフェイスを実装する上で定義したクラス インスタンスです。

Instance

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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!