النوع الأول: تكوين التعليقات التوضيحية AOP
تكوين التعليقات التوضيحية AOP (تم تنفيذها باستخدام مكتبة فئة SideSJ) ، مقسمة تقريبًا إلى ثلاث خطوات:
1. استخدم التعليق التوضيحي ASPECT لتحديد قسم ، وتحديد نقطة الدخول (pointcut) ونوع الإخطار (before ،@effernetring ،@بعد ،@lethrowing ،@ound).
2. تطوير الفصول التي تحتاج إلى اعتراض.
3. تكوين القسم في XML. في هذه الحالة ، سيتم إدارتها بواسطة حاوية الربيع AOP.
بالإضافة إلى ذلك ، تحتاج إلى الرجوع إلى حزمة الجرة الجانبية: sidejweaver.jar sidejrt.jar
مثال:
user.javapackage com.bjsxt.model ؛ () {void public (مستخدم المستخدم) ؛
تنفيذ الواجهة:
package com.bjsxt.dao.impl ؛ void save (user user) {system.out.println ("user save11d!") ؛
فئة العملية:
package com.bjsxt.sevice ؛ استيراد com.bjsxt.dao.userdao ؛ ؛ userDao ؛
انضم إلى AOP
package com.bjsxt.aop ؛ الجانب ؛ . .model .user)) ")*/ before (" mymethod () ") void العامة قبل () {system.out.println (" method staet ") ؛} efter ( () {system.out.println ("الطريقة بعد") ؛ .println ("الطريقة بعد الظهر") ؛ ") ؛}}
ملف التكوين
<؟ /2001/xmlschema-instance "xmlns: context =" http://www.springframework.org/schema/context " "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5. //www.springframework.org/schema/context/spring-context-2.5 -3.1 .xsd "> <!-لإضافة آخر 2 خطين-> <السياق: التعليق التوضيحي-config /> <السياق: مكون المسح الضوئي package =" com.bjsxt " /> <!-المسح التلقائي -> <aop: sidej-autoproxy/> <!-لإضافة هذا السطر-> </beans>
فئة الاختبار:
حزمة com.bjsxt عكس التحكم في الفئة العامة المستخدمين {test public void testadd () استثناء {classPathxMlicationContext ctx = classpathxmlapplic new CTX.GetBean ("ApplicationContext.xml". println (service.getclass () ؛
نتيجة:
class com.bjsxt.service.userservice $$ ensancerbycglib $$ 7B201784Method Statistics Save11d! طريقة بعد التربية بعد ###
يلاحظ:
aspect: هذا يعني أن هذه الفئة هي فئة الوجه
componet: نظرًا لأن الربيع يجب أن تدار كفئة الظل ، يجب إضافة تهيئة الفصل إلى إدارة الربيع أثناء التهيئة ؛
befoe: منطق نقطة الدخول (نصيحة)
التنفيذ ...: بناء جملة نقاط
النوع الثاني: تكوين XML AOP
نفس الشيء المذكور أعلاه: فقط ملف التكوين مختلف
<؟ /2001/xmlschema-instance "xmlns: context =" http://www.springframework.org/schema/context " "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5. //www.springframework.org/schema/context/spring-context-2.5 -3.1 .xsd "> <!-لإضافة آخر 2 خطين-> <سياق: التعليق التوضيحي-config /> <السياق: مكون المسح الضوئي package =" com.bjsxt " /> <bean id =" loginterce "> < /bean> <aop: config> <aop: pointcut expression =" التنفيذ (public * com.bjsxt.service .. *. إضافة (..)) "id =" servicepointcut = "lo gaspect" ref = "loginterceptor"> <aop: قبل method = "قبل" pointcut-ref = "servicepointcut"/> </aop: side> </aop: config> </bans>
ما يلي <Beans> هو علامة تكوين الربيع ، والعديد من الخصائص المهمة في الفاصوليا:
xmlns:
إنه تنسيق تحليل مستندات XML الافتراضي ، أي حبوب الربيع. العنوان هو http://www.springframework.org/schema/beans.
من خلال تعيين هذه الخاصية ، يمكن استخدام جميع السمات المعلنة في الفاصوليا مباشرة من خلال <> ، مثل <bean> ، إلخ.
xmlns: xsi:
إنها مواصفات تحتاج إلى امتثالها.
XMLNS: AOP:
هذه هي النقطة الرئيسية ، وهي بعض المواصفات الدلالية التي نحتاج إلى استخدامها هنا ، والتي ترتبط بـ AOP الموجهة نحو الظل.
xmlns: تكساس:
محتوى التكوين المتعلق بالمعاملات في الربيع.
يمكن لملف XML أن يعلن فقط عن مواصفات التحليل الدلالية الافتراضية.
على سبيل المثال ، في XML أعلاه ، هناك فاصوليا واحدة فقط هو الافتراضي ، ويجب استخدام الآخرين من خلال علامات محددة ، مثل AOP ، التي تحتوي على العديد من السمات. . على سبيل المثال ، AOP: التكوين أعلاه.
وبالمثل ، إذا تم تكوين XMLNs الافتراضية مع مواصفات التحليل الدلالي المتعلقة بـ AOP ، فيمكنك كتابة علامة مثل التكوين في XML مباشرة.
ما سبق هما طريقتان تكوين الربيع. هناك المزيد من المقالات حول طرق تكوين AOP الربيعية لمشاركتها لاحقًا.