Java 我可以直接从SpEL表达式创建bean吗?

Java 我可以直接从SpEL表达式创建bean吗?,java,xml,spring,spring-el,spring-bean,Java,Xml,Spring,Spring El,Spring Bean,我有一个生成SpEL列表的SpEL表达式。(结果类型实际上是一个Java数组,但没有意义上的诡辩。) 我希望将SpEL表达式的结果“升级”到SpringXMLBeans配置文件中的一个bean。一种可行的方法是构造ArrayList bean,并将数组作为构造函数arg提供,如下所示: <bean name="myList" class="java.util.ArrayList"> <constructor-arg value="#{ my SpEL expressio

我有一个生成SpEL列表的SpEL表达式。(结果类型实际上是一个Java数组,但没有意义上的诡辩。)

我希望将SpEL表达式的结果“升级”到SpringXMLBeans配置文件中的一个bean。一种可行的方法是构造ArrayList bean,并将数组作为
构造函数arg提供,如下所示:

<bean name="myList" class="java.util.ArrayList">
    <constructor-arg value="#{ my SpEL expression here }"/>
</bean>

这对我来说似乎有点麻烦。有没有一个行程序可以做同样的事情,让我直接将数组放入bean中,而不必将它包装在新构造的
ArrayList
bean中


如果没有,是否有更简洁或更清晰的语法来完成我现在正在做的事情?

好吧,我对java.lang.String的bean定义也有同样的问题:

<bean id="myString" class="java.lang.String">
    <constructor-arg value="foo"/>
</bean>

我已经和它生活了很长一段时间了。尝试破解而不做真正的工作是如此简单:-)

试试这个怎么样:

<util:list id="myList">
    <value>#{ my SpEL expression here }</value>
</util:list>

#{这里是我的SpEL表达式}
从另一方面来说,您只需转到JavaConfig,就可以摆脱这种XML拐杖。您应该理解XML定义有点局限于XML语言边界,请原谅他带来的一些不便