1、设置pom.xml配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
2、配置application.yml
qcdr:
coreSize: 10
maxSize: 20
queueCapacity: 30
area: 133,149,153,173,177,180,181,189,199
billItems:
- name: OTH_CDR
rowkey: 13
- name: OTH_DDR
rowkey: 17
check:
- filed
- filename
- num
3、读取配置文件
@Component
@ConfigurationProperties(prefix = "qcdr")
public class ReadConfig {
private String coreSize;
private String maxSize;
private String queueCapacity;
private String[] area;
private List<Map<String,String>> billItems;
private List<String> check;
public List<Map<String, String>> getBillItems() {
return billItems;
}
public void setBillItems(List<Map<String, String>> billItems) {
this.billItems = billItems;
}
public String getCoreSize() {
return coreSize;
}
public void setCoreSize(String coreSize) {
this.coreSize = coreSize;
}
public String getMaxSize() {
return maxSize;
}
public void setMaxSize(String maxSize) {
this.maxSize = maxSize;
}
public String getQueueCapacity() {
return queueCapacity;
}
public void setQueueCapacity(String queueCapacity) {
this.queueCapacity = queueCapacity;
}
public String[] getArea() {
return area;
}
public void setArea(String[] area) {
this.area = area;
}
public List<String> getCheck() {
return check;
}
public void setCheck(List<String> check) {
this.check = check;
}
}
4、测试
@RestController
public class ReadConfigTest {
@Autowired
ReadConfig readConfig;
@RequestMapping("/hello")
public void getConfig(){
String coreSize = readConfig.getCoreSize();
String maxsize = readConfig.getMaxSize();
String queueCapacity = readConfig.getQueueCapacity();
String[] areas = readConfig.getArea();
List<String> check = readConfig.getCheck();
List<Map<String,String>> billItemsList = readConfig.getBillItems();
System.out.println(coreSize+","+maxsize+","+queueCapacity);
System.out.println(check.toString());
for (Map<String,String> billItems : billItemsList) {
String name = billItems.get("name");
String rowkey = billItems.get("rowkey");
System.out.println(name+","+rowkey);
}
}
}