Spring AOP не работает с @Configuration и @EnableAspectJAutoProxy - PullRequest
0 голосов
/ 13 декабря 2018

в моем приложении я использую AOP на уровне контроллера и DAO - он работает правильно.

Однако на моем сервисном уровне, который создается внутри класса @Configuration (как bean-компонент), он делаетне работает.

Так что моя проблема в том, что точки и советы для уровня контроллера и DAO работают, но не для уровня обслуживания.

Чтение в Интернете - я обнаружил, что должен добавить@EnableAspectJAutoProxy аннотация - но она все еще не работает с этим.

Сторона ПРИМЕЧАНИЕ:

@Bean("nameOfResolver")
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE, proxyMode = ScopedProxyMode.TARGET_CLASS) 

Класс, который не работает, выглядит следующим образом

public class ResolveImpl implements Resolve {

private static final Logger LOGGER = LoggerFactory.getLogger(ResolveImpl.class);

@CustomAnnotation(user = "user")
public TestClass createTestClass(String user) {
    ......
    }
}

Iимейте это в моем бобе, который решает, какой бин должен быть возвращен.

Большое спасибо за вашу помощь

1 Ответ

0 голосов
/ 13 декабря 2018

Хорошо, я наконец нашел решение своей проблемы.Поскольку Spring AOP использует механизмы прокси, у меня есть метод, который вызывает метод @CustomAnnotation (user = "user"), который находится в том же классе.Это приводит к тому, что механизм прокси не срабатывает.Проверьте Spring AOP не работает для вызова метода внутри другого метода для объяснения

...