С AspectJ я бы хотел создать pointcut перед вызовами определенных методов.
Эти методы:
- В веб-контроллере REST
- Аннотированный с аннотацией из org.springframework.web.bind.annotation пакета с именем, оканчивающимся на ' Mapping ' (например: org.springframework.web.bind. annotation.PostMapping).
Я создал следующий класс:
@Aspect
@Component
@Slf4j
public class TestAspect {
@Before("within(@org.springframework.web.bind.annotation.RestController *) && @annotation(org.springframework.web.bind.annotation.PostMapping)")
public void beforeMethod(JoinPoint joinPoint){
log.debug("Before method {}", joinPoint.getSignature().getName());
}
}
Работает хорошо, но я хочу сделать то же самое для других Отображение аннотаций.
Атрибут ' @ annotation ' не принимает шаблон в качестве значения, @annotation (org.springframework.web.bind.annotation. *) Не допускается.
Как это сделать без дублирования атрибута @ annotation для каждой сопоставления аннотации пакета?