Was ich suche, ist eine Möglichkeit, einen Punkt um eine Variable auf Klassenebene anzugeben. Etwas wie:Ist es möglich, einen AspectJ-Punkt um eine Variable auf Klassenebene zu erstellen?
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.FIELD)
@interface MyPointCut
{
}
public class Foo
{
@MyPointCut
BarAPI api = new BarAPI();
}
@Aspect
public class MyAspect
{
@Around(value="execution(* *(..)) && @annotation(MyPointCut)")
public Object doSomethingBeforeAndAfterEachMethodCall()
{
...
}
}
würde ich dann gerne einen Aspekt haben, die einige Arbeit vor und nach jedem Methodenaufruf des api Feld führt. Ist das machbar? Können Sie mir bitte eine Dokumentation zeigen, in der ich lesen kann, wie es geht?
I don Weiß nicht wie über Feld, aber Sie können Getter hinzufügen und Aspekt um es hinzufügen –
Das funktioniert nicht für mich. Was ich erreichen möchte, ist eine Möglichkeit, Code um jeden Aufruf der Methoden dieses Feldes herum auszuführen. Ich weiß nur nicht, ob aspectJ so etwas unterstützt – mdzh