首先,我嘗試xml配置:聲明父母的AspectJ
<aop:aspect>
<aop:declare-parents types-matching="DBOperations.ILearningData+"
implement-interface="DBOperations.ISaveResults"
delegate-ref="saverExtension"/>
</aop:aspect>
和它的作品好。
現在我儘量讓AspectJ中,至極也應該這樣做:
其中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的問題呢?
我也試過這個代碼unsuccessfull:
public aspect ASaveResults {
public ASaveResults() { }
declare parents : ISaveResults implements ILearningData;
public void saveResults() {
System.out.println("saver aspect");
}
}
你在Spring xml中啓用了AOP自動檢測嗎?它看起來像編織沒有發生...... –
我已經:和 –
此外aspectj與周圍和之前連接良好。所以我認爲我的問題是ASaveResults –