考虑使用Commons Configuration。它具有内置功能,可将属性文件中的条目分解为数组/列表。结合SpEL和@Value应该可以提供您想要的
根据要求,这是您需要的(还没有真正尝试过代码,可能会有一些错别字,请多多包涵):
在Apache Commons Configuration中,有PropertiesConfiguration。它支持将定界字符串转换为数组/列表的功能。
例如,如果您有一个属性文件
#Foo.properties
foo=bar1, bar2, bar3
用下面的代码:
PropertiesConfiguration config = new PropertiesConfiguration("Foo.properties");
String[] values = config.getStringArray("foo");
会给你一个字符串数组 ["bar1", "bar2", "bar3"]
要与Spring一起使用,请在您的应用上下文xml中使用它:
<bean id="fooConfig" class="org.apache.commons.configuration.PropertiesConfiguration">
<constructor-arg type="java.lang.String" value="classpath:/Foo.properties"/>
</bean>
并将其放入您的春豆中:
public class SomeBean {
@Value("fooConfig.getStringArray('foo')")
private String[] fooArray;
}
我相信这应该工作:P
org.springframework.expression.spel.SpelEvaluationException
异常而不是javax.el.ELException
。您反对的对象是Spring吗?