我正在扩展一个DbNodeServiceImpl类并尝试覆盖一个名为
public void setProperty(NodeRef nodeRef, QName qname, Serializable value).
当我试图在 nodeService 接口的帮助下调用该方法时,它调用 DbNodeServiceImpl 中存在的默认方法,而不是我创建的自定义方法。我怎样才能实现同样的事情?我只想在 nodeservice 接口的帮助下调用我自己的方法。
我正在扩展一个DbNodeServiceImpl类并尝试覆盖一个名为
public void setProperty(NodeRef nodeRef, QName qname, Serializable value).
当我试图在 nodeService 接口的帮助下调用该方法时,它调用 DbNodeServiceImpl 中存在的默认方法,而不是我创建的自定义方法。我怎样才能实现同样的事情?我只想在 nodeservice 接口的帮助下调用我自己的方法。
您应该像这样定义自己的类:
<bean id="newOwnService" class="MyNewServiceImpl" init-method="init" parent="org.alfresco.repo.node.db.DbNodeServiceImpl" >
.... some needed properties....
</bean>
然后在哪里调用你的方法:
<bean id="newClass" class="NewClass">
<property name="somethingName" ref="newOwnService"/>
</bean>
在代码中:
private NodeService somethingName;
public setSomethingName(NodeService somethingName){
this.somethingName = somethingName;
}
接口调用具有相同签名的重写方法。你不能在同一个实现类中重写一个方法两次。你应该发布一些代码以获得更好的解释