我正在扩展一个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;
}
接口调用具有相同签名的重写方法。你不能在同一个实现类中重写一个方法两次。你应该发布一些代码以获得更好的解释