在Spring中指定包含值的列表的最简单方法是什么?
假设我有一个很大的值列表aa bb cc dd ee ff gg等,我需要在spring作为构造函数传递
如果我需要配置为字符串数组,那么在spring中很容易,因为我们可以将值指定为逗号分隔为aa,bb,cc等,
如果我需要配置为列表,我需要像下面这样做
aa bb cc dd
当数值增加时,它占据了一个巨大的线条,看起来很难看。
有人可以帮助我如何将大值作为构造函数中的列表传递给大家?
传递给列表的值是否来自属性文件? 如果是这样,您可以使用以下内容:
使用以下.properties文件
list.value=aa,bb,cc,dd
如果没有,你显然可以直接通过:
Spring可以自动将任何逗号分隔的字符串转换为列表或数组:
public class Foo { public void setValueList(String[] values) { ... } } a,b,c,d
事实上,即使字符串中只有1个值,也没有逗号,它仍然有效。
没有必要调用org.springframework.util.StringUtils,有人在另一个答案中提到。
构造函数args的这个词也是(c:_0是使用c命名空间的
你可以尝试更简单的东西,并使用Spring表达式语言将值转换为列表:
您可以实现一个构造函数,该构造函数将逗号分隔的String作为其参数(并将该字符串自己拆分为值)。
如果你想要一个适用于任何构造函数/属性的解决方案,你可以看看实现自己的PropertyEditor
并配置Spring来使用它。