2012-08-01 20 views
8

Aus meiner Forschung weiß ich, dass es zwei Möglichkeiten gibt, AspectJ zu verwenden. Zuerst erstellen Sie die Klasse A.aj und anschließend die Annotation @Aspect in A.java.AspectJ: zwei Arten von Tutorials

Ich war auf der Suche nach einem guten Tutorial für diese zweite Art, insbesondere über Zeilen wie

@After("call(void fooMethod())") 
@Around("call(void sendAndReceive())") 
@Before("execution(String greeting(..)) && args(context)") 

aber ich weiß nicht, wie sie genannt werden.

Können Sie einige Tutorials empfehlen?

Antwort

1

Annotation und die XML-Möglichkeiten:

Annotation Art und Weise: Minimal XML-Konfigurationsdatei:

<!-- Enable autoproxy to pick up all Java files tagged as @Aspect behave like Aspects --> 
<aspectj-autoproxy/> 
<!-- define bean --> 
<!-- Note: MyUselessAspect.java should exist and this class must be tagged as @Aspect --> 
<bean id="myUselessAspect" class="...MyUselessAspect" /> 

XML Weg: Minimal XML-Konfiguration:

<aop:config> 
    <aop:aspect ref="myUselessAspect"> 
     <!-- this point-cut picks all methods of any return type, from any package/class with any number of Parameters --> 
    <aop:before method="doSomethingBeforeMethodCall" pointcut="execution(* *.*(..))"/> 
    <aop:after method="doSomethingAfterMethodCall" pointcut="execution(* *.*(..))"/> 
    </aop:aspect>   
</aop:config> 
<!-- No need to Annotate this java Class as @Aspect. Neither you need to define any 
Point-cuts or Advices in the Java file. The <aop:config> tag takes care of everything --> 
<bean id="myUselessAspect" class="...MyUselessAspect"></bean> 

Keine Änderungen im Code erforderlich.

Pre-Req: AOP-Namespace in der XML-Datei

+0

Anbetracht dessen, zum Wohle der Menschen AspectJ verwenden, aber nicht vertraut mit Frühling bestehen muss - hier Vikram Antwort befasst, wie Aspekte in Spring-Konfiguration konfigurieren Datei. Auch bietet er eine * dritte * Möglichkeit, einen Aspekt zu definieren - über die XML-Konfigurationsdatei. Eine ähnliche Funktion ist in der AspectJ-Konfigurationsdatei (normalerweise 'aop.xml' genannt) verfügbar, wenn Sie direkt in AspectJ und nicht in Spring programmieren. Leider behandelt dies nicht die ursprüngliche Frage. –

Verwandte Themen