在Spring AOP中可以使用@DeclareMixin嗎?或者他們只支持@DeclareParents?@DeclareMixin with Spring AOP?
我想寫的是混合在java.beans.PropertyChangeSupport到Java bean的一個方面:
public class PropertyChangeSupportWithInterface extends PropertyChangeSupport
implements IObservableBean {
public PropertyChangeSupportWithInterface(Object sourceBean) {
super(sourceBean);
}
}
(IObservableBean簡單地包含來自的PropertyChangeSupport所有公共方法)
@Aspect
@Named
public class ObservableAspect{
@DeclareMixin("@ObservableBean *")
public static IObservableBean createDelegate(Object object) {
return new PropertyChangeSupportWithInterface(object);
}
}
它似乎這個方面從來沒有使用過,這讓我認爲@DeclareMixin不被Spring AOP完成的運行時編織支持。
有沒有辦法得到這個工作Spring AOP實現的?
你可以找到一個(不)運行例如這裏(Maven的多模塊項目):
https://github.com/BernhardBln/SpringAOPObservableBean
見(只)的測試情況下,在springaop觀察的豆縱橫子模塊。
嘿何塞,非常感謝您的代碼!但是,我如何在Spring中使用攔截器?我正在使用基於註釋的處理。或者只能通過xml來完成? – Bernhard
@Bernhard我也在使用註釋,請參閱編輯。 –