Wie Sie angeben, single pointcut für mehrere Pakete

Bin ich mit dem Aspekt für die Protokollierung von Aktivitäten in meiner spring-mvc-basierte Anwendung. Ich bin mit @controller Anmerkungen zu definieren controller in meiner Anwendung. Ich habe zwei verschiedene controller, die in zwei verschiedenen Paket sagen

  • com.package1 enthält controller 1 Klasse, nennen wir es, wie AController
  • com.package2 enthält 2 controller-Klasse, nennen wir es, wie BController

Ich bin in der Lage, anwenden, Aspekt, um ein bestimmtes Paket von Domänencontrollern mittels

<aop:config>
    <aop:pointcut id="pointcut1"
        expression="execution(* package1.*.*(..))"
        id="policy1" />
    <aop:aspect ref="aspect1" order="1">
        <aop:before pointcut-ref="pointcut1" method="before" arg-names="joinPoint" />
        <aop:after-returning returning="returnValue" arg-names="joinPoint, returnValue" pointcut-ref="pointcut1" method="after"  />
    </aop:aspect>
</aop:config>


<bean id="aspect1" class="com......aspectclass" />

Meine Frage ist, wie Sie angeben, dass ein anderes Paket in Ausdruck(* package1...(..))**.

Jetzt sage ich einen eigenen pointcut für jedes Paket und im Aspekt einer separaten aop:before und aop:after Eintrag für jeden pointcut. Aber ich denke, das sollte der ideale Weg, um zu definieren, mehrere Pakete pointcut.

InformationsquelleAutor Ketan | 2011-12-08

Schreibe einen Kommentar