我想在Spring xml中覆盖keysForReload方法以返回空的Iterator

    <!-- MetricsMethodData Cache Store -->
<bean id="bean1"
    class="com.ext.Myclass"
    scope="singleton" lazy-init="true">

    <lookup-method name="keysForReload" bean="metrics.keysForReload"/>
    <!-- Not working as expecting Iterator while it returns ArrayList -->

      <!--  can I use expression language somehow value="#{metrics.keysForReload.iterator()}" -->

</bean>

<bean id="metrics.keysForReload" class="java.util.ArrayList">
    <constructor-arg>
        <list value-type="java.lang.String">
        </list>
    </constructor-arg>
</bean>


我想在XML中覆盖此方法

   MyClass has keysForReload method
    public Iterator<String> keysForReload(){
        return keys();
    }


如何使用Expression languageArrayList获取迭代器?因为我无法更改方法。

示例:value="#{metrics.keysForReload.iterator()}"

最佳答案

您可以使用Spring表达式语言调用方法并分配给该值,但是在这种情况下,您必须定义bean指标。看这个例子。 SpEL example

10-04 10:22