0

我正在扩展一个DbNodeServiceImpl类并尝试覆盖一个名为 public void setProperty(NodeRef nodeRef, QName qname, Serializable value).

当我试图在 nodeService 接口的帮助下调用该方法时,它调用 DbNodeServiceImpl 中存在的默认方法,而不是我创建的自定义方法。我怎样才能实现同样的事情?我只想在 nodeservice 接口的帮助下调用我自己的方法。

4

2 回答 2

1

您应该像这样定义自己的类:

   <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;
}
于 2016-04-20T12:25:08.527 回答
0

接口调用具有相同签名的重写方法。你不能在同一个实现类中重写一个方法两次。你应该发布一些代码以获得更好的解释

于 2016-04-20T10:49:12.957 回答