美文网首页springboot
springboot yml对于list列表配置方式

springboot yml对于list列表配置方式

作者: Geroge1226 | 来源:发表于2021-01-05 17:17 被阅读0次

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;
    }

相关文章

网友评论

    本文标题:springboot yml对于list列表配置方式

    本文链接:https://www.haomeiwen.com/subject/wtwosktx.html