Во-первых, я пытаюсь конфигурации XML:Объявляет родители AspectJ
<aop:aspect>
<aop:declare-parents types-matching="DBOperations.ILearningData+"
implement-interface="DBOperations.ISaveResults"
delegate-ref="saverExtension"/>
</aop:aspect>
и он работает хорошо.
Теперь я пытаюсь сделать AspectJ, которым должны делать то же самое:
public aspect ASaveResults {
public ASaveResults() { }
declare parents : TSaveResults implements ILearningData;
}
где TSaveResults является такой же, как боб «saverExtension».
я запускаю мой код:
...
@Value("#{learningData}")
protected ILearningData saver;
...
((ISaveResults)saver).saveResults();
и получаю ошибку:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: sun.proxy.$Proxy12 cannot be cast to DBOperations.ISaveResults
что проблема с моим AspectJ?
Также я попробовал этот код неудачная:
public aspect ASaveResults {
public ASaveResults() { }
declare parents : ISaveResults implements ILearningData;
public void saveResults() {
System.out.println("saver aspect");
}
}
Вы включили автоопределение AOP весной xml? Похоже, что переплетения не происходит ... –
Я: и –
Также аксессуар был хорошо связан с и раньше. Поэтому я думаю, что моя проблема заключается в определении аспекта ASaveResults –