@Pointcut("@annotation(com.merc.annotations.Profile)")
protected void logAnnotatedMethods(Profile profile) {
}
Это не правильно, @annotation()
хочет имя параметра, а не тип параметра.
Если ваш класс скомпилирован с помощью кода отладки, параметр pointcut должен иметь то же имя, что и параметр метода, если нет, вам нужно либо полагаться на уникальность типов параметров, либо явно записывать имена параметров с помощью argNames
параметр:
@Pointcut(value="@annotation(profile)",argNames="profile")
protected void logAnnotatedMethods(Profile arg) { }
Ссылка: