Hallo zusammen
Folgendes Szenario:
Klasse1 implementiert Interface1. Und hat die Variablen a und b und die dazugehörigen Getter und Setter definiert das Interface 1.
Klasse2 implementiert Interface2, welches nur eine Methode definiert.
Nun soll über AOP definiert werden, dass vor dem Aufruf der getA() Methode des Interface1 die Methode der Klasse 2 aufgerufen werden soll.
Dies sollte so gelösst sein.
Die schwierigkeit für mich ist, dass die Methode des Interface2 bzw. der Advice die Variable B der Klasse1 benötigt. Wie kann ich diese übergeben?
Ich habe es damit versucht, klappt aber auch nicht.
Folgendes Szenario:
Klasse1 implementiert Interface1. Und hat die Variablen a und b und die dazugehörigen Getter und Setter definiert das Interface 1.
Klasse2 implementiert Interface2, welches nur eine Methode definiert.
Nun soll über AOP definiert werden, dass vor dem Aufruf der getA() Methode des Interface1 die Methode der Klasse 2 aufgerufen werden soll.
Dies sollte so gelösst sein.
Code:
execution(* Interface1.getA(..))
Die schwierigkeit für mich ist, dass die Methode des Interface2 bzw. der Advice die Variable B der Klasse1 benötigt. Wie kann ich diese übergeben?
Ich habe es damit versucht, klappt aber auch nicht.
Code:
<aop:pointcut
expression="execution(* Klasse1.getA(..)) and this(b)"
id="geta"/>
<aop:before pointcut-ref="geta" method="receiveData" arg-names="b"/>
Code:
<aop:pointcut
expression="execution(* Klasse1.getA(..)) and args(b)"
id="geta"/>
<aop:before pointcut-ref="geta" method="receiveData" arg-names="b"/>
Zuletzt bearbeitet: