如何使用spring将所有属性读入数组?

时间:2016-03-04 14:40:56

标签: java spring properties annotations introspection

我知道您可以使用spring来读取单个属性,并将具有值列表的单个属性读入列表中。但是如何将文件中的所有属性读入列表呢?

编辑:我们正在阅读的属性文件只是一个值列表,没有键,如下面的更新示例:

属性文件

queueName1
quename2
queName3

... etc(该文件长度为100行,因此它不是具有一个属性名称的值列表)

然后能够做类似

的事情
//Imaginary Code
@Value("${GET ALL THE LINES}")
List<String> eachLineOfPropertyFile;

2 个答案:

答案 0 :(得分:3)

如果你想单独使用Spring,那么在属性文件中使用“,”分隔每个值,并使用spring EL。

您的属性文件将如下:

property.values=queueName1,quename2,queName3

使用Spring Value Annotation

@Value("#{'${property.values}'.split(',')}") 
List<String> eachLineOfPropertyFile;

答案 1 :(得分:2)

你能不能使用以下

List<String> list = Files.readAllLines(new File("propertiesFile").toPath(), Charset.defaultCharset() );

PS:这是Java 7的一部分