我想在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 language
从ArrayList
获取Iterator吗?因为我无法改变方法。
示例:value="#{metrics.keysForReload.iterator()}"
答案 0 :(得分:0)
您可以在Spring表达式语言中调用方法并分配给值,但在这种情况下,您必须定义bean metrics 。看看这个例子。 SpEL example
答案 1 :(得分:0)
这样的事情对你有用吗?
@Bean("keysForReload")
public List<String> keysForReload() {
return Lists.newArrayList("val");
}
@Component
public class Myclass{
//your iterator here
@Value("#{keysForReload.iterator()}")
private Iterator<String> itr;
}