Java 如何在spring引导中读取属性文件
我能够从我的spring boot应用程序的属性文件中读取(fruits的值),成功地使用@value,如下所示Java 如何在spring引导中读取属性文件,java,spring,spring-boot,properties,properties-file,Java,Spring,Spring Boot,Properties,Properties File,我能够从我的spring boot应用程序的属性文件中读取(fruits的值),成功地使用@value,如下所示 @Value("${fruits}") private String[] fruitarray; 从下面 文件:applicaton.properties 现在,我想知道,如何从属性文件的第2节动态访问键值。 我是说,。。。在上面的代码中,我们已经得到了水果数组,并使用@Value将其设置为“水果数组”。现在,我将如何在java/spring引导方式中使用水果数
@Value("${fruits}")
private String[] fruitarray;
从下面
文件:applicaton.properties
现在,我想知道,如何从属性文件的第2节动态访问键值。
我是说,。。。在上面的代码中,我们已经得到了水果数组,并使用@Value将其设置为“水果数组”。现在,我将如何在java/spring引导方式中使用水果数组[0]变量来访问“apple.native”的值
谢谢就这么简单:
@Value("${apple.native}")
private String Native;
@Value("${apple.cost}")
private Double cost;
@Value("${apple.name}")
private String name;
您可以尝试以Bean的形式获取所有属性,并在遍历水果列表时动态访问您的属性:
@Autowired
private Environment env;
...
env.getProperty(fruits[i] + ".native");
...
来源:您也可以通过以下方式定义属性文件
key.0=value0
key.1=value1
/**从属性文件返回数组。数组必须定义为“key.0=value0”、“key.1=value1”*/
公共列表getSystemStringProperties(字符串键){
//结果列表
列表结果=新建LinkedList();
//定义循环条件部件中赋值的变量
字符串值;
//条件部分中定义的下一个值加载
for(int i=0;(value=YOUR_PROPERTY_OBJECT.getProperty(key++““+i))!=null;i++){
结果:增加(价值);
}
//返回
返回结果;
}只需使用:@Value(${apple.native}”)您就可以使用映射:看看这里,尝试这种方法:使用dellimiter',spring boot默认提供注入的application.properties,因此无需执行所有操作。
key.0=value0
key.1=value1
// result list
List<String> result = new LinkedList<>();
// defining variable for assignment in loop condition part
String value;
// next value loading defined in condition part
for(int i = 0; (value = YOUR_PROPERTY_OBJECT.getProperty(key + "." + i)) != null; i++) {
result.add(value);
}
// return
return result;