يوضح
1. يمكن تسمية وكيل Cglib بوكيل فئة فرعية، والذي يقوم ببناء كائنات فئة فرعية في الذاكرة لتوسيع وظائف الكائن الهدف.
يتطلب كل من الوكلاء الثابتين ووكلاء JDK كائنًا لتنفيذ الواجهة. في بعض الأحيان يكون كائن الوكيل مجرد كائن واحد، ويمكن استخدام وكيل Cglib في هذا الوقت.
2. يقوم Cglib بإنشاء فئة وكيل من خلال المُحسِّن وتنفيذ طريقة الاعتراض من خلال تطبيق واجهة MethodInterceptor.
يمكن إضافة أساليب التحسين إلى الطريقة ويمكن استدعاء الطريقة الأصلية باستخدام الطريقة العاكسة أو فئة MethodProxy الموروثة.
مثال
الطبقة العامة TVProxyCglib تنفذ MethodInterceptor { // إنشاء كائن وكيل للكائن الهدف public Object getProxyInstance(Class c){ //1.محسن فئة الأداة = new Enhancer(); //2. قم بتعيين الفئة الأصلية Enhancer.setSuperclass(c); //3. قم بتعيين وظيفة رد الاتصال Enhancer.setCallback(this); //4. إنشاء فئة فرعية (كائن الوكيل) إرجاع مُحسِّن.إنشاء () ؛ } @تجاوز اعتراض الكائن العام (Object o، طريقة الطريقة، كائنات الكائن []، طريقة MethodProxy) يلقي Throwable { System.out.println("تحسين TVProxyFactory...."); Object object =methodProxy.inspokeSuper(o,objects); كائن العودة؛ } }
ما ورد أعلاه هو استخدام وكيل Cglib في جافا، وآمل أن يكون مفيدًا للجميع.
المزيد من دليل تعلم جافا: جافا تعليمي
بيئة تشغيل هذا البرنامج التعليمي: نظام Windows 7، إصدار Java 10، كمبيوتر DELL G3.