springboot加载多个配置⽂件,获取配置⽂件中的数组值⽬录
1、加载多个配置⽂件
需求描述1:
项⽬中需要根据功能配置多个配置⽂件,保存相关的信息,如,l 保存ftp相关的信息,l 保存redis的配置信息
项⽬结构:
详细配置:
新建3个配置⽂件,l、l、l,可以根据项⽬实际情况建⽴配置⽂件,需要注意的是,⽂件名要以application- 开头。
配置yml
配置l
server:
port: 8084
spring:
profiles:
include: config,ftp,redis
配置l
#配置项⽬中的其他配置值
config:
value: config
配置l
#配置ftp的信息,下载上传路径等
ftp:
user: user
password: 123456
配置l
#配置redis的相关信息
redis:
name: redis
password: 1234
测试:
新建测试类,测试能否获取多配置⽂件的值:
slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @description
* @create: 2020-01
**/
@Slf4j
@RestController
public class TestApplicationYmlsController {
@Value("${config.value}")
private String config;
@Value("${ftp.user}")
private String ftpUser;
@Value("${ftp.password}")
private String ftpPassword;
@Value("${redis.name}")
private String redisUser;
@Value("${redis.password}")
private String redisPassword;
@RequestMapping("/test")
public String testYml() {
log.info("config:{},ftpUser:{},ftpPassword:{},redisUser:{},redisPassword:{}",config,ftpUser,ftpPassword,redisUser,redisPassword);        return "success";
}
}
查看后台⽇志,配置⽂件中的值可以正常取出来:
2、获取配置⽂件中的数组值
需求描述2:
配置⽂件l 中存在如下结构,需要获取各个ip:
provinceConf:
smpIp:
- 192.168.2.164
- 192.168.2.166
实现⽅式:
新建配置类:
import lombok.Data;
import org.t.properties.ConfigurationProperties; import org.springframework.stereotype.Component;
/**
* @description
* @create: 2020-01-19
**/
@Data
@Componentspringboot结构
@ConfigurationProperties(prefix = "provinceconf")
public class YmlListValueConfig {
private String [] smpIp;
}
测试:
在以上测试类中注⼊获取数组值的配置类,接⼝调⽤测试:
结果:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。