Spring Boot properties和yml

面试中有被问到优先级, 平时项目中通常只用到一种, 所以记录下

 properties 和 yml 都是 Spring Boot 支持的两种配置文件,它们可以看作是 Spring Boot 在不同时期的两款“产品”。在 Spring Boot 时代已经不需要使用 XML 文件格式来配置项目了,取而代之的是 properties 或 yml 文件。

properties: properties配置文件属于早期,也是目前创建 Spring Boot(2.x)项目时默认的配置文件格式;

yml :yml可以看做是对 properties 配置文件的升级,属于 Spring Boot 的“新版”配置文件。

 存放路径

两种配置文件一般都是放在src/main/resources目录下

优先级别 

properties的优先级会高于yml,因为正常的情况是先加载yml,接下来加载properties文件。所以如果项目中同时存在这两个文件,两个文件配置同一个配置参数,properties会生效,yml不会生效。

区别说明 

两种配置文件示例如下:

# properties
server.port=8088	# 配置项目启动端口号
debug=true	# 开启调试模式
# 配置数据连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:8080/test?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# yaml
server:
  port: 8088  # 配置项目启动端口号
debug: true  # 开启调试模式
spring:  # 配置数据连接信息
  datasource:
    url: jdbc:mysql://127.0.0.1:8080/test?characterEncoding=utf8
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

梳理区别:

  1. 结构不同
    yml采用树形结构,更有层次感,可读性很强;相反,properties 则更为直接。可以看出properties存在着数据冗余,一切配置都需要从头写到尾。

  2. 语法不同
    properties 的基本语法格式是“key=value”的形式;yml 的基本语法格式是“key: value”的形式

其他说明

yml 需要注意坑:

  1. 冒号后面需要加空格
  2. 在yml中缩进一定不能使用TAB,否则会报很奇怪的错误,缩进只能用空格

文章参考:properties和yml进行对比 - DJ同学 - 博客园

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值