У меня есть метод @Aspect и @Pointcut, аннотированный для запуска @ Перед вызовом метода @Controller, он кажется совпадающим (поскольку я не получаю никаких ошибок), но это не уволив мой метод консультаций вообще. Я изменил свой pointcut для целей тестирования как можно более конкретный, и я не получаю никаких ошибок привязки во время запуска приложения.Spring AOP @Pointcut not triggering @Before method
Вот мой метод контроллера (класс является com.xyzMyController):
@RequestMapping(method = RequestMethod.POST, produces = "application/json", consumes = "application/json")
@ResponseBody
public SubmissionResponse submitMethod(@Valid @RequestBody final SubmissionRequest request, HttpServletRequest httpRequest, BindingResult result)
{
if (result.hasErrors()) { throw new BadRequestException(result); }
// ... do stuff ...
}
Вот класс Формат:
@Aspect
@Component
public class RequestValidatingAspect
{
private static final Logger LOGGER = Logger.getLogger(RequestValidatingAspect.class);
@Inject
private ClientService clientService;
@Inject
private AccountService accountService;
@Pointcut("execution(* com.x.y.z.MyController.submitMethod(*.SubmissionRequest,*.HttpServletRequest,*.BindingResult)) && args(request, httpRequest, result)")
private void requestValidation(SubmissionRequest request, HttpServletRequest httpRequest, BindingResult result) {}
@Before("requestValidation(request,httpRequest,result)")
public void theAdvice(SubmissionRequest request, HttpServletRequest httpRequest, BindingResult result) throws Throwable
{
System.out.println("Before - The Advice");
LOGGER.info("Entering The Advice!");
if(result.hasErrors()){ throw new BadRequestException(result); }
// ... do stuff ...
LOGGER.info("Exiting - The Advice!");
return;
}
}
Можем ли мы видеть ваш контекст? –