AspectJ статическая инициализация - PullRequest
2 голосов
/ 11 января 2012

Я успешно перехватываю статическую инициализацию классов с помощью @MyAnnotation с этим кодом:

public aspect SomeAspect {
    pointcut printClassName() : staticinitialization(@MyAnnotation *);
    after() : printClassName() {
        System.out.println(getClass().getName());        
    }
}

Вопрос: как мне получить имя загруженного класса?В приведенном выше коде напечатано имя класса аспекта, а не имя загруженного класса.

Спасибо, Teo

1 Ответ

1 голос
/ 13 января 2012

Вы должны использовать thisJoinPoint , чтобы получить информацию такого типа. Этот код делает свое дело.

    after(): printClassName(){
         System.out.println(thisJoinPoint.getSignature().getDeclaringTypeName());
    }
...