在Spring应用程序上下文文件中定义列表 [英] Defining a list in a Spring application context file

查看:66
本文介绍了在Spring应用程序上下文文件中定义列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以在不使用<list>元素的情况下在Spring application-context.xml文件中创建列表?

Can you create a List in a Spring application-context.xml file without using the <list> element?

我有一个其构造函数带有Collection对象的bean,并且我想通过"value"属性传递整个列表.原因是该值来自.properties文件,您无法在.properties文件中定义列表.

I have a bean whose constructor takes a Collection object and I want to pass the entire list through the "value" attribute. The reason is that this value comes from a .properties file and you can't define a list in a .properties file.

我想做这样的事情...有可能吗?

I want to do something like this...is it possible?

MyClass.java:

MyClass.java:

public class MyClass{
  public MyClass(Collection<String> collection){ /* ... */ }
}

application-context.xml:

application-context.xml:

<bean name="myBean" class="com.company.MyClass">
  <constructor-arg value="${the.value}" />
</bean>

.properties文件:

.properties file:

the.value=item1,item2,item3

谢谢.

推荐答案

<bean name="myBean" class="com.company.MyClass">
  <constructor-arg>
    <bean class="org.springframework.util.StringUtils" factory-method="commaDelimitedListToSet">
        <constructor-arg type="java.lang.String" value="${the.value}"/>
    </bean>
  </constructor-arg>
</bean>

这篇关于在Spring应用程序上下文文件中定义列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆