Конфигурация Spring AOP корректна, но ничего не происходит - PullRequest
0 голосов
/ 01 мая 2020

Цель - войти в систему, если произойдет ошибка. IntelliJ правильно видит JointPoint (в левой части метода отображается «Перейти к советам AOP». Но я понятия не имею, почему он не работает, а System.out.println - тоже не работает. Кроме того, Я пытался записывать всю информацию перед каждым методом в классе, но он тоже не работал.

Метод:

    @Override
    public User getUser(Long id) {
        Optional<User> user = userRepository.findById(id);
        if (!user.isPresent()) {
            UserNotFoundException exc = new UserNotFoundException( id);
            //LOGGER.error(exc);
            throw exc;
        }
        return user.get();
    }




@Aspect
@Component
public class Temp {
    private final Logger LOGGER = LogManager.getLogger(this.getClass());

    @Pointcut("execution(public * com.UserServiceImpl.*(..))")
    public void callAtUserServicePublic(){

    }

    @AfterThrowing(value = "callAtUserServicePublic()", throwing = "exc")
    public void afterUserNotFoundException(UserNotFoundException exc){
        System.out.println(exc);
        LOGGER.error(exc);
    }


    @Before("callAtUserServicePublic()")
    public void temp(JoinPoint jp){
        System.out.println(jp.toString());
        LOGGER.info(jp.toString());
    }
}
...