Как создать аспект на классе, который не является бобом с помощью Spring AOP?

Я работаю над унаследованным приложением, где Spring AOP (а именно, ProxyFactoryBean) используется.

Я должен добавить аспект вокруг метода определенного класса. Этот класс не является бобом как бы то ни было. Выражение AspecjJ pointcut было бы похоже на это: execution(* xyz.package.Class.method())

Я создал a MethodInterceptor и AspectJExpressionPointcut, но я не знаю, как заставляют те два сотрудничать.

Править:
У меня нет исходного кода для этого класса, это - сторонняя библиотека. Экземпляры этого класса не создаются мной, ни в исходном коде, ни в пружинной конфигурации как бобы. Это используется внутренне библиотекой.

Любая справка ценится.

6
задан Ula Krukar 18 March 2010 в 14:54
поделиться

2 ответа

Вы можете использовать плетение во время загрузки с полной поддержкой AspectJ, как описано здесь , это не требует доступа к источнику классов получать советы и контролировать их создание (хотя для этого требуется и присутствие самого ткача с помощью -javaagent: ... или другие методы ).

4
ответ дан 17 December 2019 в 00:07
поделиться

Try @Configurable. Это объясняется в этой документации.

Аннотация @Configurable помечает класс как подходящий для конфигурации на основе Spring

(вам понадобится )

Обновление. Вы можете сделать сторонний компонент бобом, перечислив его в applicationContext.xml как (при этом вам не понадобится @Configurable)

3
ответ дан 17 December 2019 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: