springboot项目yml、properties文件list写法及读取yml中的数据【详细教程】

SpringBoot的配置文件有yml和properties两种;在 SpringBoot 中我们通常使用( application.yml )来配置全局文件。

但是我这里都举例对比一下,如何获取yml和properties两种配置文件中的值,

通常,一些常量,都会配置到配置文件中,日后也好方便维护。

 application.yml 配置

#常量枚举在配置文件
ly:
  upload:
    baseUrl: http://image.leyou.com/
    allowTypes:  #定义一个list
      - image/jpeg
      - image/png
      - image/bmp

application.properties 配置

ly.upload.base-url=http://image.leyou.com/
ly.upload.allow-types=image/jpeg,image/png,image/bmp

      注意:如何在 yml 和 properties 中枚举list集合 

 以下针对两种配置方式读取数据,都适用!


ConfigEntity.java

//配置绑定,bean注入
@Data
@ConfigurationProperties(prefix = "ly.upload") //指定ly.upload开头的变量
public class UploadProperties {
    private String baseUrl;
    private List<String>allowTypes; //注意该allowTypes是个list
}

 注意,如果本项目中没有引入lombok,即手动加上get set 有参无参构造方法!

快捷键操作:鼠标单击右键,选择Generate,然后选择Getter and Setter 将属性全部选中一键生成!

如果想图省事注解实现get set等方法,可看这篇:idea如何安装lombok?

  testController.java


@RestController
@EnableConfigurationProperties(ConfigEntity.class)  //记得注入
public class Testcontroller {

    @Autowired
    private ConfigEntity configEntity;

    @PostMapping("test")
    public Map<String,Object> test(){
        Map<String, Object> map = new HashMap<>();
        map.put("url",configEntity.getBaseUrl());
        map.put("allowType",configEntity.getAllowTypes());
        return map;
    }
}

 结果显而易见,url拿到是个string串,而allowType也成功拿到了list 数据!


如果两种配置文件都存在,经测试发现,按文件先后顺序读取配置!先读取application.properties 再读 application.yml 文件


❤如果文章对您有所帮助,就在文章的右上角或者文章的末尾点个赞吧!(づ ̄ 3 ̄)づ 

❤如果喜欢大白兔分享的文章,就给大白兔点个关注吧!(๑′ᴗ‵๑)づ╭❤~

❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830

❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复讨论(请勿发表攻击言论)

猜你喜欢

转载自blog.csdn.net/weixin_43970743/article/details/109360933