springboot yml对于list列表配置方式
2021-01-05 本文已影响0人
Geroge1226
1、背景
我们在使用@ConfigurationProperties(prefix = "system")
读取yml配置文件过程中会遇到读取yml文件中列表。如:yml文件设置访问白名单,Config里面使用List集合接收。方法比较简单。整理如下
2、实现过程
- yml文件 列表钱都是‘
-
’ 加空格开头
# 访问白名单
system:
whiteList:
- /sso/auth/api
- /swagger-ui
- /webjars/springfox-swagger-ui/
- /swagger-resources
- /v2/api-docs
- /api/garmin/testRedis
- /api/aladdin/channel/
- Config配置文件使用list 接收
@Configuration
@ConfigurationProperties(prefix = "system")
public class TokenWhiteListConfig {
// 配置文件使用list接收
private List<String> whiteList;
public List<String> getWhiteList() {
return whiteList;
}
public void setWhiteList(List<String> whiteList) {
this.whiteList = whiteList;
}
- 过滤器处理地方
@Autowired
private TokenWhiteListConfig whiteListConfig;
// 检验白名单 减少日志输出
private boolean chechWhiteList(String uri){
// log.info("请求路径:{}",uri);
for(String url: whiteListConfig.getWhiteList()){
if(uri.contains(url)){
// log.info("存在白名单内:{}",url);
return true;
}
}
return false;
}