从核心接口调用自定义方法

时间:2016-04-20 10:40:33

标签: java spring interface alfresco alfresco-webscripts

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

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

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

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