properties和yml都是SpringBoot支持的两种配置文件,它们可以看作是SpringBoot在不同时期的两款“产品”。在SpringBoot时代已经不需要使用XML文件格式来配置项目了,取而代之的是properties或yml文件。
properties配置文件属于早期,也是目前创建SpringBoot(2.x)项目时默认的配置文件格式,而yml可以看做是对properties配置文件的升级,属于SpringBoot的“新版”配置文件。
properties和yml的区别主要体现在以下4点:
定义和定位不同;
语法不同;
yml更好的配置多种数据类型;
yml支持多种语言、通用性更好。
区别1:定义和定位不同
properties翻译成中文是“属性”的意思,所以它在创建之初,就是用来在SpringBoot中设置属性的。yml是YAML是缩写,它的全称YetAnotherMarkupLanguage,翻译成中文是“另一种标记语言”。
所以从二者的定义可以看出:它们的定位和层次是完全不同的,properties只是用来设置一些属性配置的,而yml的格局和愿景更大,它的定位是“另一种标记语言”,所以从格局上来讲yml就甩properties好几条街。
区别2:语法不同
properties和yml语法区别很大,properties配置文件的基本用法如下:
#配置项目启动端口号server.port=#开启调试模式debug=true#配置数据连接信息spring.datasource.url=jdbc:mysql://.0.0.0:/dbname?characterEncoding=utf8spring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=