springboot获取yml配置文件中的数组

常用两种方式

1.使用@Value

yml

dict:
  ignore: sys_user_sex,sys_show_hide,sys_normal_disable

@Value

@Value("#{${dict.ignore}.split(,)}")
private List<String> dictTypeIgnores;

2.使用@ConfigurationProperties

yml

dict:
  ignores:
    - sys_user_sex
    - sys_show_hide
    - sys_normal_disable

@ConfigurationProperties

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

/**
 * desc: 字典type被禁用后任然可继续使用的类型 配置
 *
 * @author qts
 * @date 2022/5/18 0018
 */
@RefreshScope //配置文件动态加载
@Data
@Component
@ConfigurationProperties(prefix = "dict") // 前缀
public class DictTypeIgnoreProperties
{
    /**
     * 对应属性名,与配置中相同
     */
    private List<String> ignores = new ArrayList<>();

}

使用

@Autowired
private DictTypeIgnoreProperties dictTypeIgnoreProperties;

// 获取对应值(对象中的属性)
List<String> ignores = dictTypeIgnoreProperties.getIgnores();
经验分享 程序员 微信小程序 职场和发展