读取配置文件中值,并声称数组
我所了解并能实现的有两种:
1、Spring Boot框架下声明数组
第一种简单,便捷,但是要求所用技术为spring Boot。
在application.yml中以这种格式输入。前缀随意。
xxx:
yyy:
- aaa
- bbb
之后只需要在实体类中加注解@ConfigurationProperties(“xxx.yyy”)
就可以有一个yyy[]数组。
2、局限性小的声明数组
第二种较为繁琐,而且可能还不是那么优美,但是胜在在任意环境下可使用
在源文件夹下,即classpath:下:声明一个.properties文件,名称随意。
eg:
name.properties
xxx.yyy=aaa,bbb
之后声明一个工具类:
ResourceUtil.java
package com.chinatower.mq.utils;
import lombok.extern.slf4j.Slf4j;
import java.io.InputStream;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
@Slf4j
public class ResourceUtil {
private ResourceBundle resourceBundle;
{
try {
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("KafkaConfig.properties");
resourceBundle = new PropertyResourceBundle(inputStream);
}catch (Exception e){
log.error("KafkaConfig.properties文件读取失败,请查看文件是否存在");
}
}
public String getKey(String key){
try {
String result = resourceBundle.getString(key);
//这个result就是:aaa,bbb
这个时候我们就可以根据spllit方法对result进行分割,就是一个数组了。
}catch (Exception e){
return null;
}
}
}
如果有其他方法,欢迎补充。