在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我也在使用注释,请参阅编辑。 –