Не работает aspect

127
31 марта 2019, 21:10

У меня есть метод, который я бы хотел логировать.

@ApiLogBefore
public ResponseEntity save(@RequestParam("transactionId") String transactionId) throws JsonProcessingException {
...
}

Есть аннотация, через которую я хочу исполнять аспект:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ApiLogBefore {
}

Пока она пустая. Есть аспект:

@Aspect
@Component
@Slf4j
public class ApiLogAspectProcessor {
    @Pointcut("@annotation(ApiLogBefore)")
    public void logProcessor() {
    }
    @Before(value = "logProcessor()")
    public void before() {
        System.out.println(">>>>>>>>>>>>>>>>>>>>>>");
        log.debug(">>>>>>>>>>>>>>>>>>>>");
    }
}

При запуске теста на метод save в консоль, как я понимаю, должен вывестись output. Но даже не заходит в метод, брейкпоинт не ловит тоже ничего.

Зависимости:

compile group: 'org.springframework', name: 'spring-aop', version: '5.1.0.RELEASE'
compile group: 'org.aspectj', name: 'aspectjrt', version: '1.9.2'
compile group: 'org.aspectj', name: 'aspectjweaver', version: '1.9.2'

Подскажите, где может быть проблема?

Answer 1

Оказалось, чтобы всё заработало, необходимо было пометить конфиг аннотацией @EnableAspectJAutoProxy

READ ALSO
Glide хранение кеша

Glide хранение кеша

В приложения для загрузки изображений используются GlideКак известно Glide кеширует изображения

151
JavaFX проблемы с TableView на различных объектах

JavaFX проблемы с TableView на различных объектах

Есть SplitPane, в которую я вложил TableViewИ появляются некоторые вопросы

122
Задача на создание функции JS [закрыт]

Задача на создание функции JS [закрыт]

Написать функцию, которая принимает три параметра n1, n2 и n3 где число n1 – стартовое число массива, n2 - количество элементов массива, n3 – количество...

142