是否可以使用util类使用SpEL在XML bean中设置属性?

时间:2016-02-01 00:46:38

标签: spring

这是我的bean定义:

<bean id="myBean" scope="step" class="com.test.spring.batch.MyBean">    
    <property name="resources" value="#{ResourceUtils.getResources(jobExecutionContext['key'])}"/>
</bean>

我需要将一个Spring bean(从Spring Batch上下文)传递给util class ResourceUtils.getResources(String)的静态方法,并将资源文件设置为MyBean属性。

现在Spring说Cannot resolve variable ResourceUtils

1 个答案:

答案 0 :(得分:1)

根据Spring documentation,当你在SpEL表达式中使用类型时,你必须在下一个方向使用它:

<bean id="myBean" scope="step" class="com.test.spring.batch.MyBean">    
    <property name="resources" value="#{T(com.mypackage.ResourceUtils).getResources(jobExecutionContext['key'])}"/>
</bean>

换句话说,您必须使用T()构造和完全限定的类名(在此示例中为com.mypackage)。