假设我有大量值 aa bb cc dd ee ff gg 等,我需要在 spring 中将其作为构造函数传递
如果我需要配置为字符串数组,这在 spring 中很容易,因为我们可以将值指定为逗号分隔的 aa、bb、cc 等,
如果我需要配置为列表,我需要像下面那样做
<bean name="myBean" class="MyClass">
<constructor-arg>
<list>
<value>aa</value>
<value>bb</value>
<value>cc</value>
<value>dd</value>
</list>
</constructor-arg>
</bean>
当值的数量增加时,它占据了巨大的线条,看起来很丑。
有人可以帮我如何将大值作为字符串中的列表作为构造函数传递吗?
最佳答案
传递给列表的值是否来自属性文件? 如果是这样,你可以使用这样的东西:
<bean name="myBean" class="MyClass">
<constructor-arg>
<bean class="org.springframework.util.StringUtils" factory-method="commaDelimitedListToSet">
<constructor-arg type="java.lang.String" value="${list.value}"/>
</bean>
</constructor-arg>
</bean>
使用以下 .properties 文件
list.value=aa,bb,cc,dd
如果没有,你显然可以直接通过 then :
<bean name="myBean" class="MyClass">
<constructor-arg>
<bean class="org.springframework.util.StringUtils" factory-method="commaDelimitedListToSet">
<constructor-arg type="java.lang.String" value="aa,bb,cc,dd"/>
</bean>
</constructor-arg>
</bean>
关于java - 在 Spring 中指定具有值的列表的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11577547/