学无先后,达者为师

网站首页 编程语言 正文

springboot yml对于list列表配置方式

作者:huayang183 更新时间: 2022-03-14 编程语言

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


 

原文链接:https://blog.csdn.net/qq_18671415/article/details/121009750

栏目分类
最近更新