关于springboot的核心配置文件application的类型

本文对比介绍了Spring Boot中两种配置文件格式:properties和YAML的特点及用法,并解释了它们之间的优先级关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

在绝大数情况下springboot只需要application文件就可以完成项目中的所有配置,但application文件存在两种格式分别是(properties和YAML),下面来介绍这两种类型的区别与用法。


一、properties类型

properties类型是springboot项目默认使用的开发配置文件,一般你创立项目,默认生成的是这个,但是需要注意的是我们开发项目一般不使用它,此话怎讲?且听我娓娓道来,现在来介绍该类型的用法,它核心格式一般是键值对,其中键和值之间一般用"="等号隔开,键通过.进行语义分割,用来表示层级关系,拿配置数据库来举例子,可以看到对SQL数据库配置如下:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=xxx
spring.datasource.password=xxx
spring.datasource.url=jabc:mysql://localhost:3306/xxx?serverTimezone=UTC&characterEncoding=UTF-8

可以看到我上述的这些信息有一个弊端,就是键与键之间无法共享上级键名,你还是要老老实实的把层级重新敲一遍,而YAML类型就避免了这一弊端,往下看。

二、YAML类型

YAML类型是一种借鉴了XML、JSON等语言的语法创造出来的应用于配置文件的新语法,
基本特点是
1.大小写敏感
2.使用缩进表示层级关系
3.键的后面是冒号空格在在加上值
4.#号表示注释
下面再拿MySQL数据库举个例子,同时配置数据库用YAML类型的配置文件

spring:
 datasource:
  username: xxx
  password: xxx
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jabc:mysql://localhost:3306/xxx?serverTimezone=UTC&characterEncoding=UTF-8

可以看到领用空格缩进来表示层级关系将大大减少敲代码的量(简称偷懒)所以一般我们手动会将核心配置文件改一下后缀,但是配置文件也不过多几千字的信息量,复制分享某一段配置场景时候,YAML会牵扯大量层级结构以及无关节点,而properties却没有,但是我还是偏向于yml,因为能偷懒就偷懒原则,打不了敲一点注释,是吧。

三、关于这些类型的优先级问题

实际上是有三种配置格式,这里我有一种yml格式,以我的理解就是yaml,但是确实存在这玩楞,这时候就会出现一种情况,假如三个配置文件都存在,那到底那个生效,了解不了这句话意思,可以类比css选择器优先级顺序,到底哪个生效,结果如下
properties>yml>yaml
不同配置文件根据优先级进行覆盖

总结

希望看了这篇能对springboot核心配置有一定程度的了解,欢迎批评指正,但不喜勿喷。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值